0

我正在尝试绘制彩色图,我需要使用 mlab.specgram() 来执行频域中两个函数的互相关,所以我不能使用 pyplot.specgram()。我使用 pyplot.imshow 来绘制互相关的颜色图,但结果轴只是索引号,而不是与颜色图中显示的功率相对应的实际时间值。

我尝试使用 xticks()/yticks() 和范围参数更改标签,但它所做的只是向我显示我的颜色图的一小部分,而不是更改标签。

有没有办法让我改变轴的比例以匹配实际的频率和时间?

以供参考:

# My spectrograms:
spec_H1, freqs, t = mlab.specgram(H_filt, NFFT=NFFT, Fs=fs, noverlap=NOVL, mode=mode) 
spec_L1, freqs, t = mlab.specgram(L_filt, NFFT=NFFT, Fs=fs, noverlap=NOVL, mode=mode)

# The cross-correlation:
X = np.real(spec_H1 * np.conj(spec_L1))

# The figure:
plt.figure(figsize=(10,10))
plt.imshow(abs(X), cmap = 'jet')
plt.colorbar() 
plt.ylim(0,200)
plt.xlim(0,500)

图

如您所见,例如,时间轴 (x) 应该在 0 到 4 秒之间运行,但它的采样范围是从 0 到 500。我该如何更改?

4

0 回答 0