Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memplot Tarikh dengan Betul pada X-Axis dalam Matplotlib?

Bagaimana untuk Memplot Tarikh dengan Betul pada X-Axis dalam Matplotlib?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-17 13:51:02887semak imbas

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

Memahami Plotting Tarikh dalam matplotlib

Memplot maklumat mengikut tarikh boleh menjadi tugas biasa apabila bekerja dengan data siri masa. Walau bagaimanapun, menukar dan merancang tarikh kadangkala boleh membawa kepada ralat.

Isu: Menukar dan Memplot Tarikh

Dalam contoh yang diberikan, pengguna mengalami "ValueError: year berada di luar julat" ralat semasa cuba memplot tarikh pada paksi-x. Isu ini timbul daripada proses penukaran, khususnya apabila menggunakan num2date.

Penyelesaian: Menggunakan Fungsi plot

Untuk menyelesaikan isu ini, pertimbangkan untuk menggunakan fungsi plot dan bukannya tarikh_plot. Kaedah ini mengambil senarai tarikh dan mengecamnya secara automatik sebagai tarikh, membolehkan anda memintas langkah penukaran.

Langkah 1: Tukar Tarikh kepada Objek datetime.date

Tukar rentetan tarikh kepada contoh datetime.date untuk pengendalian yang lebih mudah. Contohnya:

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

Langkah 2: Konfigurasikan X-Axis untuk Pemformatan Tarikh

Sediakan paksi-x untuk memaparkan tarikh dengan betul menggunakan DateFormatter dan DayLocator daripada matplotlib .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>

Langkah 3: Jana Plot

Akhir sekali, plot data menggunakan set-up paksi-x dan data paksi-y:

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

Kaedah ini menghapuskan ralat penukaran dan memplot tarikh dengan betul pada paksi-x, memberikan gambaran yang jelas bagi data berasaskan masa.

Atas ialah kandungan terperinci Bagaimana untuk Memplot Tarikh dengan Betul pada X-Axis dalam Matplotlib?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn