我正在寻找一种Python式的方法来绘制一个x轴值波动的数组。我的所有数据都是从h5文件(几行和几列)中读入的,这样:data = h5py.File("file",'r')
dset = data['/DATA/DATA/'][:]
我现在有一个形状为(25432)的数组。在23个单独的数据条目中有432个数据点。这些数据是在432个光谱波段收集的23个点的光谱反射率数据。在
我使用带号为基于数据的x轴创建使用:
^{pr2}$
我可以通过分别调用每个数据来绘制所有这些数据。它不是很优雅,但它的作用是:plt.plot(xvals, values[0])
plt.plot(xvals, values[1])
plt.plot(xvals, values[2])
但是,数据包含一些错误的值。我可以通过对数组进行切片来忽略它们,例如:values = dset[np.logical_and(dset<1, dset>0)]
但这会改变每个数组的长度,因此每个数组都可能是唯一的长度。我可以用类似的方法对x轴进行切片,但这并不适用于所有数组。在
基本上我有:a = [[1,2,3,-1,5,6],
[1,-1,3,4,5,6],
[1,2,3,4,-1,6]]
x = [1,2,3,4,5,6]
如果我删除-1值,x太长,我无法绘制它们,因为它们“没有相同的第一维度”。但是,对于a中的每个数组,x是不同的
有没有一种Python式的方法可以在一个绘图中绘制所有的数据,这样我就可以忽略“数据集”中的错误数据(0-1范围之外),并相应地调整x轴上的数据点数量?在