用不同的线条样式显示数据和缺失数据(Matplotlib,绘图)

时间:2019-04-28 17:26:06

标签: python pandas matplotlib plot data-visualization

我有一系列不同的数据,但有些缺失(NaN)。

我想画一个图,用实线连接数据,用虚线连接缺失的数据。

我想把它放在同一块土地上。

示例

0     0.146397
1          NaN
2     0.356559
3          NaN
4          NaN
5          NaN
6          NaN
7     0.146451
8          NaN
9          NaN
10         NaN
11         NaN
Name: mySeries, dtype: object

我知道我可以做到:

# solid
plt.plot( my_series,  linestyle='-', marker='o')

# dotted, excluding Nan
plt.plot( my_series.dropna(), linestyle=':', marker='o')

我想叠加剧情,例如:

plt.plot( my_series,  linestyle='-', marker='o')
plt.plot( my_series.dropna(), linestyle=':', marker='o')
plt.show

但是我看到只看到了最后一个图形(我使用的是jupyter,不确定是不透明度还是jupyter,它只显示最后计算的图)。

我如何使用同一图通知用户哪些线反映了真实数据,哪些线连接了缺失数据?

(使用熊猫,matplotlib,jupyter)。

1 个答案:

答案 0 :(得分:1)

在不同的单元格中尝试每个命令,您将看到第一行看起来像散点图。这是因为您的数据确实分散了。所以我做了一点修改:

0     0.146
1     0.220
2       NaN
3     0.356
4       NaN
5       NaN
6       NaN
7       NaN
8     0.146
9       NaN
10      NaN
dtype: float64

并切换图的顺序,因为我们希望将原始图放在顶部:

plt.plot( my_series.dropna(), ':o')
plt.plot(my_series, marker='o')
plt.show()

输出:

enter image description here