天天看点

python时间序列画图设置坐标轴刻度格式

https://www.jianshu.com/p/6905e310252b 参考

需要画柱状图,日期刻度比较密集,自动出来的结果成了这样

python时间序列画图设置坐标轴刻度格式

于是就在网上搜索如何自己设置刻度

目前找到的方法是:

import matplotlib.dates as dates           
  1. #获取每月一日数据
  2. monthdays = dates.MonthLocator()
  3. #获取每周一的日期数据
  4. mondays = dates.WeekdayLocator(dates.MONDAY)
  5. #获取每日数据
  6. alldays = dates.DayLocator()
  1. #设置主刻度 即长刻度线
  2. ax.xaxis.set_major_locator(monthdays)
  3. #设置副刻度 即短刻度线
  4. ax.xaxis.set_minor_locator(alldays)
  1. monthFormatter = dates.DateFormatter( '%m-%Y') # 如:2-2015
  2. dayFormatter = dates.DateFormatter( '%d') # 如:12
  3. #设置主刻度格式
  4. ax.xaxis.set_major_formatter(monthFormatter)
python时间序列画图设置坐标轴刻度格式
  1. #自动调整xtick的间距
  2. fig.autofmt_xdate()
python时间序列画图设置坐标轴刻度格式

这些在曲线图上有效,但是在柱状图上却显示不出来刻度了

python时间序列画图设置坐标轴刻度格式

看到网站上有这样解答的

https://stackoverflow.com/questions/30133280/pandas-bar-plot-changes-date-format

里面的解决方法并没有找到有效的

https://www.jianshu.com/p/6905e310252b 参考

继续阅读