python – 使用plotly的动态频谱

我想将时间与频率的关系绘制为x和y轴,但也是由(x,y)而非(时间,频率)点的绘图强度指定的第三个参数. [实际上,我不想在3D可视化中使用第三轴,而是想要像2D绘图一样,第三轴的振幅由(x,y)处的强度(颜色)值控制.

有人可以建议我类似我要找的东西吗?这些图实际上称为动态光谱.

PS:我在python离线绘图.我已经经历了https://plot.ly/python/,但我仍然不确定哪个能满足我的目的.

请建议一些可以帮助我完成上述事情:)

最佳答案 我建议使用pcolormesh图

import matplotlib.pyplot as mp
import numpy as np

# meshgrid your timevector to get it in the desired format
X, Y = np.meshgrid(timevector, range(num_of_frequency_bins))

fig1, ax1 = mp.subplots()

Plothandle = mp.pcolormesh(X, Y, frequencies, cmap=mp.cm.jet, antialiased=True, linewidth=0)

而num_of_frequency_bins在y轴上显示的频率数量.例如,从0Hz到1000Hz,分辨率为10Hz,您将不得不这样做:范围(0,1000,10)
抗锯齿仅用于外观,与线宽相同.
由于非线性灰度,通常不推荐使用Colormap jet,但在频域中通常使用它.因此我在这里使用它.但是python也有一些很好的线性灰度色图!

关于使用plotly的主题:如果你只想要一个静态图像,你不必使用plotly.如果你想要一个交互式图像,你可以在这里拖动轴和这样的东西,你应该看看情节.

点赞