Plotting datetime for several years but showing only twelve months on x-axis(绘制了几年的日期时间,但在x轴上只显示了12个月)
问题描述
我正在尝试以DateTime作为x轴绘制数据。这些数据是在几年的时间里收集的。 我可以将日期转换为日期时间格式,提取日期时间的年份部分并将其作为颜色绘制。
df['Date']=pd.to_datetime(df['Date'],errors='coerce')
df['year']=df['Date'].dt.year
df['mthday']=df['Date'].dt.strftime('%d-%b')
df=df.sort_values(by='Date')
plot=px.line(df,x='Date',y='value',color='year')
(我在此链接尝试过该解决方案:Plotly: How to plot just month and day on x axis? (Ignore year))
这给出了下面的图表。不同的年份用不同的颜色正确显示。然而,x轴的跨度是从2014年到2020年。我想让x轴只显示1月到12月,不同年份的图表叠加在上面。(又名:将x轴缩短/折叠为1月至12月的一组月份)
编辑以添加来自DF的样本:
Date/ value/value2/value3/Note/Unnamed/year/mthday
187 2015-11-10 125 73 79.0 NaN NaN 2015 10-Nov
108 2015-01-25 132 88 61.0 NaN NaN 2015 25-Jan
85 2014-12-25 138 86 69.0 NaN NaN 2014 25-Dec
154 2015-07-24 131 80 62.0 NaN NaN 2015 24-Jul
226 2016-09-18 120 73 61.0 NaN NaN 2016 18-Sep
261 2018-06-07 135 72 64.0 NaN NaN 2018 07-Jun
59 2014-11-20 158 79 70.0 NaN NaN 2014 20-Nov
118 2015-02-12 145 77 70.0 NaN NaN 2015 12-Feb
287 2019-09-02 130 79 66.0 NaN NaN 2019 02-Sep
228 2016-09-26 104 76 59.0 NaN NaN 2016 26-Sep
(实际上,对于该图,我希望绘制所有年份的value、value2、value3。在本例中,我只尝试了所有年份的值)
第二次编辑了解可能的答案: 嗨,我想我找到了一种方法来做这件事。我使用mthday列并将其转换回DateTime。它将年份值默认为1900。然后,我使用mthday作为x轴,使用年份作为颜色来绘制它。然后隐藏x轴刻度线中的年值。
df['mthday']=pd.to_datetime(df['mthday'],format='%d-%b',errors='coerce')
fig=px.line(df,x='mthday',y='value',color='year')
fig.update_layout(xaxis_tickformat='%d-%b')
如果您有更好的方法完成此操作,请告诉我。
推荐答案
发布以下内容是我发现的实现此目的的一种方法: 我使用mthday列并将其转换回DateTime类型。这会将所有行的所有年份值设置为默认值1900。然后,我使用mthday作为x轴,并通过指定x轴刻度线来隐藏年份。
df['mthday']=df['Date'].dt.strftime('%d-%b')
df['mthday']=pd.to_datetime(df['mthday'],format='%d-%b',errors='coerce')
df=df.sort_values(by='Date')
plot=px.line(df,x='mthday',y='value',color='year')
plot.update_layout(xaxis_tickformat='%d-%b')
这篇关于绘制了几年的日期时间,但在x轴上只显示了12个月的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:绘制了几年的日期时间,但在x轴上只显示了12个月
基础教程推荐
- 使用 Google App Engine (Python) 将文件上传到 Google Cloud Storage 2022-01-01
- 使 Python 脚本在 Windows 上运行而不指定“.py";延期 2022-01-01
- 将 YAML 文件转换为 python dict 2022-01-01
- 如何在 Python 中检测文件是否为二进制(非文本)文 2022-01-01
- 哪些 Python 包提供独立的事件系统? 2022-01-01
- 合并具有多索引的两个数据帧 2022-01-01
- 使用Python匹配Stata加权xtil命令的确定方法? 2022-01-01
- 如何在Python中绘制多元函数? 2022-01-01
- 症状类型错误:无法确定关系的真值 2022-01-01
- Python 的 List 是如何实现的? 2022-01-01