[英]Python: year or month on x axis with pyplot, pandas and matplotlib?
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. 有很多不同的解决方案(大多数都已过时)来解决matplotlib对象中添加轴的问题,但尚未解决任何问题。 I want to get date labels (either Months or Years) on the x axis.
我想在x轴上获取日期标签(月或年)。
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 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. 缺少时间注释的地方。
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. I.将日期列转换为datetime dtype
a['date'] = pd.to_datetime(a['date'])
并绘图。
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=pd.read_csv("test.csv", parse_dates=[0])
a.pivot(index='date', columns='group').plot()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.