Pylab在数据中存在nans的地方插入换行符。我怎样才能获得连续的线条。我认为matlab会自动执行此操作。
示例:
x = linspace(0,1,10)
y = rand(10,2)
y[5:8,1] = nan
plot(x,y,'.-')
我希望y [:,1]插值而不是y [:,0],因为没有丢失点。
答案 0 :(得分:2)
选择没有nan
from pylab import isnan
boolind = ~isnan(y).any(1)
然后做
plot(x[boolind], y[boolind])
如果您希望线性插值的值替换nan
,您只需记录nan
的位置并使用相邻点进行插值,但我认为出于绘图目的,只需消除{ {1}}数据点就足够了 - 无论如何,代码都会为你做线性插值。
nan
应该是y = rand((10, 50))
,虽然我不确定你为什么想要对一维绘制2D数组。
修改强>
对于您的特定问题,您可以简单地分别绘制y = rand(10, 50)
的两列
y