use*_*183 4 python numpy matplotlib
我有一个数组切片:
array([1.0, 2.0, 3.0, None, 4.0, None, 5.0, None, 6.0, None], dtype=object)
Run Code Online (Sandbox Code Playgroud)
在绘制时看起来像 
在None值之后如何让点线/连接线继续?我尝试使用astype将数据类型从对象更改为浮点数,并将None替换为nan的但是没有区别,我也尝试使用np.where(np.isnan())等的掩码数组但是它没有制作差异.我的绘图命令非常简单:
plt.plot(x, array, 'ro--')
Run Code Online (Sandbox Code Playgroud)
其中x是一个numpy数组.
这是正确的行为,mpl尝试连接相邻的点.如果你的nan两边都有一个点,没有有效的方法将它们连接到任何东西.
如果你想nan在绘图时忽略你的s,那么将它们剥离出来
ind = ~np.isnan(np.asarray(data.astype(float)))
plt.plot(np.asarray(x)[ind], np.asarray(data)[ind], 'ro--')
Run Code Online (Sandbox Code Playgroud)
所有这些asarray只是为了确保示例能够正常工作,与之相同astype
另外,使用阴影(在python解析和语义方面)类(如数组)或常用函数的变量名称实际上是不好的做法.