簡體   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