我想绘制的使用matlplotlib时间序列线图,但matplotlib除非我用不会绘制所有我的数据,.plot_date()
或者使用.plot()
通过o
作为标志物的说法。
如果我使用.plot_date
或.plot()
并使用'-'标记,则数据无法正确绘制:
有人知道为什么会这样吗?如何解决?我需要数据点与线连接。
提前致谢。
这是我当前的代码:
import pandas as pd
import matplotlib.pyplot as plt
import dateutil
from datetime import date, datetime, timedelta
plt.plot(sve2_all['MeHg ng/l']['1993-01-18':'1997-05-02'].index, sve2_all['MeHg ng/l']['1993-01-18':'1997-05-02'],'bo')
plt.xticks(rotation=70)
plt.show()
我的数据在Pandas中DataFrame
,索引为datetime64
。
您的数据NaN
框中可能有很多值。Matplotlib仅在连续的(有效)数据点之间绘制一条线,并在NaN
值之间留出间隔。
如果是这种情况,则NaN
在绘制之前删除即可解决问题。例如:
dftmp = sve2_all['MeHg ng/l']['1993-01-18':'1997-05-02'].dropna()
plt.plot(dftmp.index, dftmp,'b-')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句