我有一个带有时间点的矢量,一个带有频率点的矢量(对数刻度)和一个(M,N) - 矩阵,其中M是频率数,N是时间点数。
我想制作一个图,其中x轴是时间向量,y轴是频率向量(以对数刻度),每个点的颜色由矩阵中的相应值确定。
我一直在看matplotlib的imshow,但我似乎无法让它工作,我也找不到一个好的例子。
答案 0 :(得分:2)
听起来你想要pcolormesh
而不是imshow
。
例如:
import numpy as np
import matplotlib.pyplot as plt
m, n = 20, 30
# Generate randomly spaced, but increasing time and frequency vectors
time = np.random.normal(0, 1, n).cumsum()
frequency = np.random.normal(0, 1, m).cumsum()
data = np.random.random((m,n))
fig, ax = plt.subplots()
ax.pcolormesh(time, frequency, data, cmap='gist_earth')
ax.axis('tight')
plt.show()