我有一个熊猫数据框,其中填充了以下数据:
Date val count
0 2013-01 A 1
1 2013-01 M 1
2 2013-02 M 2
3 2013-03 B 3
4 2013-03 M 5
5 2014-05 B 1
我是matplotlib的新手,无法确定如何使用Y轴(计数),X轴(日期)绘制此数据,并具有3条独立的曲线,每个val值对应一条。
答案 0 :(得分:2)
使用 pivot
和 plot
(A
不会出现,因为它只有一个点并且正在隐藏在M
的第一点)。您还必须将Date
列转换为datetime
才能准确显示X轴:
df.Date = pd.to_datetime(df.Date)
df.pivot(index='Date', columns='val', values='count').plot(marker='o')
如果您想将NaN
的值显示为零,只需使用 fillna
:
df.pivot(index='Date', columns='val', values='count').fillna(0).plot(marker='o')
答案 1 :(得分:1)
按值分组,遍历并在同一轴上绘制每条线:
fig, ax = plt.subplots()
for i, g in df.groupby("val"):
g.plot(kind="line", x="Date", y="count", ax=ax, label=i)
答案 2 :(得分:1)