gpt4 book ai didi

python - 如何将图中的 DOY(一年中的某一天)转换为月份(作为文本)?

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:19 25 4
gpt4 key购买 nike

我有日平均气温、降水量和全局辐射的气候时间序列图。我生成了这样的图: https://i.ibb.co/w4x2FMN/temp-mean-1999-2018.png

在 x 轴上,我刚刚生成了数字 1 - 365 的列表,这些数字代表一年中的某一天 (DOY)。

我真正想要的是,x 轴按月份名称(作为字符串)划分,如下所示: https://i.ibb.co/cL2zc87/rplot.jpg

我已经尝试了很多不同的方法,但没有任何效果。

fig = plt.figure(figsize=(10,10))
ax = plt.axes()

x = np.arange(1,366) # here I define the List with DOY
ax.fill_between(x, temp_cum['min'], temp_cum['max'], color='lightgray', label='1999-2017')
#ax.plot(x, merge_table_99_17_without, color='grey', linewidth=0.3)
ax.plot(x, temp_cum['2018'], color='black', label='2018');
ax.legend(loc='upper left')

ax.set_ylabel('daily mean temperature [°C]')
#ax.set_xlabel('DOY')

plt.show()

最佳答案

首先,您应该将数字转换为日期对象,如 this post 中所述。 。您可以使用以下功能。

import datetime

def serial_date_to_string(srl_no):
new_date = datetime.datetime(2018,1,1,0,0) + datetime.timedelta(srl_no - 1)
return new_date.strftime("%Y-%m-%d")

然后您必须将 x 轴格式化为仅显示月份而不显示完整日期。 This post详细描述了如何执行此操作。

关于python - 如何将图中的 DOY(一年中的某一天)转换为月份(作为文本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57090046/

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