Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memaparkan Tarikh pada X-Axis Plot Garisan Pandas?

Bagaimana untuk Memaparkan Tarikh pada X-Axis Plot Garisan Pandas?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 10:04:02264semak imbas

How to Display Dates on the X-Axis of a Pandas Line Plot?

Tarikh paparan plot baris Bingkai Data Pandas pada xaxis

Apabila mencipta plot baris Bingkai Data Pandas dengan nilai masa tarikh pada paksi-x, adalah penting untuk mempertimbangkan keserasian antara Pandas dan pengendalian datetime matplotlib. Secara lalai, Pandas dan matplotlib menggunakan format datetime yang berbeza, yang boleh membawa kepada isu dengan pemformatan paksi.

Latar Belakang Masalah:

Coretan kod anda menggambarkan isu ini: menggunakan pd .to_datetime untuk menukar lajur 'date' kepada objek datetime dan menetapkannya sebagai indeks mencipta paksi datetime Pandas. Walau bagaimanapun, menambah DateFormatter terus pada paksi ini tidak menghasilkan pemformatan tarikh yang dijangkakan.

Ursache:

Ketidakpadanan timbul kerana Pandas menggunakan format tarikh tarikhnya sendiri, yang berbeza daripada yang digunakan oleh matplotlib. Percubaan untuk mencampurkan format ini boleh membawa kepada hasil yang tidak dijangka.

Penyelesaian:

Untuk menangani ketidakserasian ini, anda mempunyai dua pilihan:

1. Dayakan keserasian paksi-x dalam Panda:

Tambah x_compat=True apabila memplot bingkai data. Ini mengarahkan Pandas untuk menggunakan pemformatan datetime matplotlib untuk paksi-x.

df.plot(x_compat=True)

2. Gunakan matplotlib terus untuk pemformatan datetime:

Daripada menggunakan keupayaan plot terbina dalam Pandas, anda boleh mencipta plot menggunakan matplotlib secara langsung. Ini membolehkan anda menggunakan rangkaian penuh pilihan pemformatan datetime matplotlib.

plt.plot(df['date'], df['ratio1'])

Menggunakan DateFormatter daripada modul tarikh matplotlib, anda boleh mencapai pemformatan tarikh yang diingini:

ax = df.plot(x_compat=True, figsize=(6, 4))
ax.xaxis.set_major_locator(dates.DayLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))
ax.invert_xaxis()
ax.get_figure().autofmt_xdate(rotation=0, ha="center")

Dengan menggunakan ini kaedah, anda boleh memastikan bahawa paksi-x plot garisan anda memaparkan tarikh dengan betul, mengelakkan sebarang ketidakkonsistenan antara pengendalian masa tarikh Pandas dan matplotlib.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Tarikh pada X-Axis Plot Garisan Pandas?. 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