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

Mary-Kate Olsen
發布: 2024-10-17 13:51:02
原創
886 人瀏覽過

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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!