gpt4 book ai didi

python - 如何更改 matplotlib 图的日期时间刻度标签频率

转载 作者:太空狗 更新时间:2023-10-30 00:42:55 24 4
gpt4 key购买 nike

下面显示了模拟数据图,其中包含我要修改的 xtick。默认情况下,pd.df.plot 选择相隔大约 3 个月的日期作为刻度。但我想要的是每个月都是一个滴答声。做这个的最好方式是什么?季节性蜱虫呢?先感谢您。

enter image description here

最佳答案

首先,您必须将 pandas 日期对象转换为 python 日期对象。由于 matplotlib 内部日期转换函数,需要进行此转换。然后使用 matplotlib.dates 中的函数来设置所需的格式化程序和刻度位置,如下所示:

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

# convert date objects from pandas format to python datetime
index = pd.date_range(start = "2015-07-01", end = "2017-01-01", freq = "D")
index = [pd.to_datetime(date, format='%Y-%m-%d').date() for date in index]
data = np.random.randint(1,100, size=len(index))
df = pd.DataFrame(data=data,index=index, columns=['data'])
print (df.head())

ax = df.plot()
# set monthly locator
ax.xaxis.set_major_locator(mdates.MonthLocator(interval=1))
# set formatter
ax.xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
# set font and rotation for date tick labels
plt.gcf().autofmt_xdate()

plt.show()

对于季节标签,您必须自己构建它,然后使用 plt.setp 函数设置它(对于 02 月设置标签 winter,04 - spring 等):plt.setp(new_labels, rotation=90, fontsize=9).

enter image description here

df 负责人:

            data
2015-07-01 26
2015-07-02 33
2015-07-03 46
2015-07-04 69
2015-07-05 17

关于python - 如何更改 matplotlib 图的日期时间刻度标签频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com