首頁  >  文章  >  後端開發  >  如何在 Matplotlib 中正確繪製 X 軸上的日期?

如何在 Matplotlib 中正確繪製 X 軸上的日期?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-17 13:51:02887瀏覽

How to Correctly Plot Dates on the X-Axis in Matplotlib?

了解 matplotlib 中的日期繪圖

根據日期繪製資訊可能是處理時間序列資料時的常見任務。但是,轉換和繪製日期有時會導致錯誤。

問題:轉換和繪製日期

在提供的範例中,使用者遇到了「ValueError:year」嘗試在x 軸上繪製日期時出現「超出範圍”錯誤。這個問題是由轉換過程引起的,特別是在使用 num2date 時。

解決方案:利用繪圖函數

要解決此問題,請考慮使用繪圖函數而不是繪圖日期。此方法會取得日期清單並自動將它們識別為日期,從而允許您繞過轉換步驟。

第 1 步:將日期轉換為 datetime.date 物件

將日期字串轉換為 datetime.date 的實例以便於處理。例如:

<code class="python">import datetime as dt

dates = ['01/02/1991', '01/03/1991', '01/04/1991']
x = [dt.datetime.strptime(d, '%m/%d/%Y').date() for d in dates]</code>

步驟2:配置X 軸進行日期格式

使用matplotlib 中的DateFormatter 和DayLocator 設定x 軸以正確顯示日期.dates:

<code class="python">import matplotlib.pyplot as plt
import matplotlib.dates as mdates

plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d/%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator())</code>

第3 步:產生繪圖

最後,使用設定的x 軸與y 軸資料繪製資料:

<code class="python">plt.plot(x, y)
plt.gcf().autofmt_xdate()</code>

此方法消除了轉換錯誤並在x 軸上正確繪製日期,提供基於時間的資料的清晰表示。

以上是如何在 Matplotlib 中正確繪製 X 軸上的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn