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

Linda Hamilton
Lepaskan: 2024-10-31 10:04:02
asal
263 orang telah melayarinya

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)
Salin selepas log masuk

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'])
Salin selepas log masuk

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")
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan