我有一个数组切片:
array([1.0, 2.0, 3.0, None, 4.0, None, 5.0, None, 6.0, None], dtype=object)
在绘制时看起来像
如何在None值之后继续点线/连接线?我尝试使用astype将数据类型从对象更改为浮点数,并将None替换为nan的但是没有区别,我也尝试使用np.where(np.isnan())等的掩码数组但是它没有制作差异。我的绘图命令非常简单:
plt.plot(x, array, 'ro--')
其中x是一个numpy数组。
答案 0 :(得分:7)
这是正确的行为,mpl
尝试连接相邻的点。如果您的任何一方都有nan
的积分,则无法将它们连接到任何地方。
如果您想在绘图时忽略nan
,请将其删除
ind = ~np.isnan(np.asarray(data.astype(float)))
plt.plot(np.asarray(x)[ind], np.asarray(data)[ind], 'ro--')
所有asarray
只是为了确保该示例有效,与astype
另外,使用阴影(在python解析和语义方面)类(如数组)或常用函数的变量名称是非常不好的做法。