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!