Matplotlib 格式化 X 轴的日期时间,显示 1970 年 1 月 1 日或不显示问题
遇到的问题
使用python画图时,x轴显示日期时间,并对日期时间进行格式化,
ax[2].xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d\n%H:%M:%S'))#设置时间标签显示格式
此时显示1970年或不显示日期时间。
显示1970年
不显示日期时间
期待的效果:年-月-日\n时:分:秒
解决办法
x_time = df["时间"]
x_time = [datetime.strptime(d, '%Y-%m-%d %H:%M:%S') for d in x_time]
x_time = [d.strftime('%Y-%m-%d \n %H:%M:%S') for d in x_time]
可以跳过出问题的x轴标准化过程。
数据经历了从数据库保存excel,再从excel读这些过程,数据的格式从object转化成datetime.datetime格式,再转化成datetime.strftime格式。
参考资料
[1].https://segmentfault.com/a/1190000006158803