Matplotlib:季度次要刻度标签

时间:2019-02-15 21:58:36

标签: python pandas datetime matplotlib

我有要使用Matplotlib绘制的季度数据。我希望主要的xtick标签显示年份,次要的xtick标签显示季度。

但是,我只能找到每月数据。也就是说,以下代码(使用matplotlib的mdates函数)将使每月的次要点数增加一次,但我看不到季度选择...

有帮助吗?

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

A = pd.DataFrame(np.random.rand(6*4))
A.index = pd.date_range(start = "2017", periods = len(A), freq = "QS")

fig, ax = plt.subplots(figsize = (10,6))

ax.plot(A)

years = mdates.YearLocator()   # every year
months = mdates.MonthLocator()  # every month
yearsFmt = mdates.DateFormatter('%Y')

ax.xaxis.set_major_locator(years)
ax.xaxis.set_major_formatter(yearsFmt)
ax.xaxis.set_minor_locator(months)

1 个答案:

答案 0 :(得分:1)

MonthLocator带有几个参数。您可以使用bymonth(第一个)并指定您希望有刻度的月份。一个季度包括3个月,因此1,4,7,10应该是您所追求的。

months = mdates.MonthLocator((1,4,7,10))