作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个时间序列,我想逐年绘制。我希望数据是每天的,但轴将每个月显示为“一月”、“二月”等。
目前我可以获得每日数据,但轴是 1-366(一年中的第几天)。
或者我可以将月轴设置为 1、2、3 等(通过将索引更改为 df.index.month),但数据是每月的。
如何将年轴中的日期转换为月份?或者我该怎么做?
显示每日数据的代码,但轴是错误的:
# import
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# create fake time series dataframe
index = pd.date_range(start='01-Jan-2012', end='31-12-2018', freq='D')
data = np.random.randn(len(index))
df = pd.DataFrame(data, index, columns=['Data'])
# pivot to get by day in rows, then year in columns
df_pivot = pd.pivot_table(df, index=df.index.dayofyear, columns=df.index.year, values='Data')
df_pivot.plot()
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
plt.show()
最佳答案
这可以使用 xticks function 来完成.只需在 plt.show()
之前添加以下代码:
plt.xticks(np.linspace(0,365,13)[:-1], ('Jan', 'Feb' ... 'Nov', 'Dec'))
或以下使月份名称出现在月中:
plt.xticks(np.linspace(15,380,13)[:-1], ('Jan', 'Feb' ... 'Nov', 'Dec'))
关于Python 将年中的某一天转换为轴上的月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54107108/
我是一名优秀的程序员,十分优秀!