加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在NaN的之后matplotlib没有继续行

发布时间:2020-12-20 11:29:21 所属栏目:Python 来源:网络整理
导读:参见英文答案 matplotlib: drawing lines between points ignoring missing data????????????????????????????????????6个 我有一个数组切片: array([1.0,2.0,3.0,None,4.0,5.0,6.0,None],dtype=object) 在绘制时看起来像 在None值之后如何让点线/连接线继
参见英文答案 > matplotlib: drawing lines between points ignoring missing data????????????????????????????????????6个
我有一个数组切片:

array([1.0,2.0,3.0,None,4.0,5.0,6.0,None],dtype=object)

在绘制时看起来像

在None值之后如何让点线/连接线继续?我尝试使用astype将数据类型从对象更改为浮点数,并将None替换为nan的但是没有区别,我也尝试使用np.where(np.isnan())等的掩码数组但是它没有制作差异.我的绘图命令非常简单:

plt.plot(x,array,'ro--')

其中x是一个numpy数组.

解决方法

这是正确的行为,mpl尝试连接相邻的点.如果你的两边都有一个纳米点,那么就没有有效的方法可以将它们连接到任何东西.

如果你想在绘图时忽略你的nans,那么将它们剥离

ind = ~np.isnan(np.asarray(data.astype(float)))
plt.plot(np.asarray(x)[ind],np.asarray(data)[ind],'ro--')

所有的asarray只是为了确保这个例子能够起作用,与astype相同

另外,使用阴影(在python解析和语义方面)类(如数组)或常用函数的变量名称实际上是不好的做法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读