繁体   English   中英

如何使用 matplotlib 将月度标签添加到 x 轴?

[英]How to add monthly labels to x-axis using matplotlib?

对于作业,我需要使用 matplotlib 绘制 2004-2014 年期间的记录(最小和最大)温度。 除了 x 轴标记外,该图几乎是完整的(见下文)。 绘图时,我没有指定 x 轴值,因此它生成了 0-365 之间的整数,即一年中的天数。 现在我希望月份显示为 x 轴标签而不是整数(一月、二月等)。 有人可以帮我吗?

记录低温和高温:

在此处输入图片说明

我生成的源数据如下:

np.random.seed(13)
dates = pd.date_range(start='2014-01-01', end='2014-12-31')
temp = pd.DataFrame({'tMin': np.random.normal(0, 0.5, dates.size).cumsum() - 10,
    'tMax': np.random.normal(0, 0.5, dates.size).cumsum() + 10}, index=dates)

要获取带有月份标签的图片,请尝试以下代码:

# Imports
import matplotlib.pyplot as plt
import matplotlib.dates as mdates

# Drawing
fig, ax = plt.subplots(figsize=(10, 4))
plt.xlabel('Month')
plt.ylabel('Temp')
plt.title('Temperatures 2014')
ax.xaxis.set_major_locator(mdates.MonthLocator())
fmt = mdates.DateFormatter('%b %Y')
ax.xaxis.set_major_formatter(fmt)
ax.plot(temp.tMin)
ax.plot(temp.tMax)
ax.fill_between(temp.index, temp.tMin, temp.tMax, color='#A0E0A0', alpha=0.2) 
plt.setp(ax.get_xticklabels(), rotation=30);

对于上述源数据,我得到了以下图片:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM