需要画柱状图,日期刻度比较密集,自动出来的结果成了这样
于是就在网上搜索如何自己设置刻度
目前找到的方法是:
import matplotlib.dates as dates
-
#获取每月一日数据
-
monthdays = dates.MonthLocator()
-
#获取每周一的日期数据
-
mondays = dates.WeekdayLocator(dates.MONDAY)
-
#获取每日数据
-
alldays = dates.DayLocator()
-
#设置主刻度 即长刻度线
-
ax.xaxis.set_major_locator(monthdays)
-
#设置副刻度 即短刻度线
-
ax.xaxis.set_minor_locator(alldays)
-
monthFormatter = dates.DateFormatter(
'%m-%Y')
# 如:2-2015
-
dayFormatter = dates.DateFormatter(
'%d')
# 如:12
-
#设置主刻度格式
-
ax.xaxis.set_major_formatter(monthFormatter)
-
#自动调整xtick的间距
-
fig.autofmt_xdate()
这些在曲线图上有效,但是在柱状图上却显示不出来刻度了
看到网站上有这样解答的
https://stackoverflow.com/questions/30133280/pandas-bar-plot-changes-date-format
里面的解决方法并没有找到有效的