Python - x轴标签和刻度

时间:2018-03-24 19:28:16

标签: python-2.7 matplotlib

我有一系列数据(长度为365,一年中每天的最高温度)。 我正在制作一个简单的线图,其中x轴表示一年中的几天,y轴表示温度值。下面是输出图像的相关代码片段。

fig = plt.figure()
temp_data = temp_total[:]
plt.plot(temp_data-273.15)
plt.ylabel('Temperature (C)',size=12)
plt.xlabel('Day of Year',size=12)

https://i.stack.imgur.com/mXkoA.png

我想在x轴上每个月绘制一次,而不是每年每天都有刻度的x轴。 1月,2月,3月等

我还没有发现任何可行的东西。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

由于几个月的天数不等,最好使用实际日期来绘制。

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from datetime import datetime, timedelta
import numpy as np; np.random.seed(42)


temp_data = np.cumsum(np.random.randn(365))+273.15
dates = [datetime(2018,1,1)+timedelta(days=i) for i in range(len(temp_data))]

plt.plot(dates, temp_data-273.15)

plt.gca().xaxis.set_major_locator(mdates.MonthLocator())
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%b'))

plt.ylabel('Temperature (C)',size=12)
plt.xlabel('Day of Year',size=12)

plt.show()

enter image description here