我想绘制列表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
用点绘制它就可以了。我错过了什么?
提前谢谢。
答案 0 :(得分:1)
在两个点之间绘制一条线,并且在matplotlib中,两端不需要None
来绘制线条。如果您更改b
以便:
b=[ el if el%3!=0 else None for el in a ]
即,将每第3个点设置为None
,然后得到
希望有道理。