Reputation: 52860
There are plethora of different solutions, mostly outdated, to address the addition of axis in matplotlib object, haven't got any of them working yet. I want to get date labels (either Months or Years) on the x axis.
MWE
import pandas as pd
from matplotlib.pyplot import savefig
a=pd.read_csv("test.csv")
a.pivot(index='date', columns='group').plot()
savefig("plot3.png")
test.csv
date,group,myval
2018-07-01,test1,999
2018-07-01,test2,523
2018-07-02,test1,3305
2018-07-02,test2,1290
2018-07-03,test1,9399
2018-07-03,test2,1827
2018-07-04,test1,6982
2018-07-04,test2,2391
2018-07-05,test1,4100
2018-07-05,test2,2081
2018-07-06,test1,0268
2018-07-06,test2,4834
2018-07-07,test1,9571
2018-07-07,test2,6369
2018-07-08,test1,3943
2018-07-08,test2,6483
where the time annotations are missing.
Upvotes: 0
Views: 3884
Reputation: 52860
Comments have the following solutions, solutions tested to work.
I. Convert date column to datetime dtype a['date'] = pd.to_datetime(a['date'])
and plot.
a=pd.read_csv("test.csv")
a['date'] = pd.to_datetime(a['date'])
a.pivot(index='date', columns='group').plot()
where adjust the formatting as needed such as
a['date'] = pd.to_datetime(a['date'], format='%Y-%m-%d')
II. Convert colum date to datetime by a = pd.read_csv("test.csv", parse_dates=[0])
a=pd.read_csv("test.csv", parse_dates=[0])
a.pivot(index='date', columns='group').plot()
Upvotes: 2