绘制两个不同长度的阵列

时间:2012-07-31 22:49:33

标签: python arrays matplotlib

所以我有一些数据

import pyfits
import matplotlib.pyplot
a = pyfits.getdata('data.fits')
x = a['time']
y = a['flux']

我的某些数据存在问题,其中我的数组包含NaN值。为了摆脱它们,我做了以下几点:

x = x[numpy.logical_not(numpy.isnan(x))]
y = y[numpy.logical_not(numpy.isnan(y))]

从数组xy中删除所有NaN值。问题是xy不包含相同数量的NaN值。

这样:

len(y) = 4275

,而:

len(x) = 4313

我希望能够做到这一点:

pyplot.plot(x,y)

但尝试绘制不同尺寸的数组时出现问题。有没有办法可以做到这一点?

2 个答案:

答案 0 :(得分:4)

您可以压缩两个数组,并丢弃(x, y)xy的任何一点NaN(我认为这是最有意义的)。现在我不熟悉numpy或者它是否提供了一个简短的方法,你可能需要自己实现它。

答案 1 :(得分:1)

您是如何获得数据图的?我会假设在导入时你会有x或y为0,这样每个x都有一个合适的y?