python - Matplotlib:季度小刻度标签

标签 python pandas datetime matplotlib

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

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

有什么帮助吗?

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)

最佳答案

MonthLocator 采用多个参数。您可以使用bymonth(第一个)并指定您想要报价的月份。一个季度包含 3 个月,因此 1,4,7,10 应该是您想要的。

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

关于python - Matplotlib:季度小刻度标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54717606/

相关文章:

python - 如何将 Maya 节点层次结构存储到 Python 字典中

python - 如何获取 Pandas 系列中小数点后的最大位数

python - 在 Python 中将垂直系列 reshape 为水平系列

python - 没有创建它应该创建的 csv 文件

java - 有 48 小时的差异,将 C# Ticks 转换为 Java 时间戳

r - 变量 X 的类型(列表)无效,其中 X 是日期类

Python 使日期时间偏移感知

python - 摆脱包含 None 值的嵌套字典中的键

python - Django 管理表单中的组字段

python - 使用 python 从 fasta 文件中删除句点