Pyplot 在使用线条时不绘制带孔的数据

Pyplot not plotting data with holes when using lines

我想绘制列表 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 用点绘制它,它就会起作用。我错过了什么?

提前致谢。

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

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

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

希望这是有道理的。