【问题标题】:Pyplot not plotting data with holes when using lines使用线条时,Pyplot 不绘制带孔的数据
【发布时间】:2015-04-30 23:47:14
【问题描述】:

我想绘制列表b,其中有几个None 对象来表示缺失的数据。但是,当我尝试使用线条绘制它时,pyplot 什么也没有绘制。如果我使用点绘制它,这不会发生。另一组完整的数据正常绘制。低于 MWE:

from matplotlib import pyplot as plt
a=range(10,20)
b=[ el if el%2==0 else None for el in a ]
x=range(10)

plt.plot(x, a, 'o')
plt.plot(x, b, '-')
#plt.savefig('test.png')
plt.show()

仅显示列表a 中的数据。如果我告诉pyplot 用点绘制它,它就可以工作。我错过了什么?

提前谢谢你。

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    在两点之间画一条线,在matplotlib中,两端不需要是None才能画线。如果您更改 b 以便:

    b=[ el if el%3!=0 else None for el in a ]
    

    即设置每3个点为None,则得到

    希望这是有道理的。

    【讨论】:

    • 确实有道理,谢谢。那么就没有办法了吗?
    • 我认为在这种情况下,None 的含义没有任何意义。例如,我无法真正看到None 如何从该点暗示一条单边线,因为没有指定值。当然,无论您的更大目标是什么,可能仍有办法实现。
    猜你喜欢
    • 2011-07-14
    • 1970-01-01
    • 2018-05-30
    • 2019-02-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    相关资源
    最近更新 更多