我需要将一些光谱数据绘制为 2D 图像,其中每个数据点对应于具有特定日期/时间的光谱。我需要如下绘制所有光谱: - xx 轴 - 对应于波长 - yy 轴 - 对应于日期/时间 - 强度 - 对应于通量
如果我的数据点在时间上是连续/连续的,我只会使用 matplotlib 的 imshow。但是,不仅这些点在时间上并非都是连续/连续的,而且点之间的时间间隔也很大。
这是一些模拟我所拥有的模拟数据:
import numpy as np
sampleSize = 100
data={}
for time in np.arange(0,5):
data[time] = np.random.sample(sampleSize)
for time in np.arange(14,20):
data[time] = np.random.sample(sampleSize)
for time in np.arange(30,40):
data[time] = np.random.sample(sampleSize)
for time in np.arange(25.5,35.5):
data[time] = np.random.sample(sampleSize)
for time in np.arange(80,120):
data[time] = np.random.sample(sampleSize)
如果我只需要打印上述数据子集之一;我会做:
mplt.imshow([data[time] for time in np.arange(0,5)], cmap ='Greys',aspect='auto',origin='lower',interpolation="none",extent=[-50,50,0,5])
mplt.show()
但是,我不知道如何在同一个图中打印所有数据,同时显示间隙并将 yy 轴保持为时间。有任何想法吗?
谢谢,豪尔赫