Tarikh paparan plot baris data Pandas pada xaxis
Masalah:
Apabila cuba merancang Pandas DataFrame dengan tarikh pada paksi-x, perpustakaan matplotlib menghasilkan pemformatan yang tidak tepat dan tarikh yang tidak sepadan dengan betul dengan data.
Jawapan:
Ketidakserasian antara utiliti datetime Pandas dan Matplotlib adalah punca masalah ini. Pandas menggunakan perwakilan titik terapung bukan standard untuk objek datetime, yang tidak serasi dengan kaedah pemformatan tarikh Matplotlib sendiri.
Penyelesaian:
Untuk menyelesaikan isu ini, terdapat ialah dua pendekatan yang mungkin:
Lumpuhkan pemformatan tarikh Pandas:
Dengan menetapkan x_compat=True apabila merancang DataFrame, Pandas akan menggunakan tarikh dalaman Matplotlib mekanisme pemformatan, membenarkan kawalan yang lebih tepat ke atas pemformatan paksi-x.
Gunakan Matplotlib secara eksklusif untuk merancang dan memformat:
Daripada bergantung pada Pandas untuk plot tarikh, anda boleh menggunakan kaedah Matplotlib sendiri untuk mengendalikan nilai tarikh dan pemformatan. Ini memberikan fleksibiliti yang lebih besar dan membolehkan anda menyesuaikan pemformatan tarikh mengikut keperluan.
Berikut ialah contoh dikemas kini yang menunjukkan kedua-dua pendekatan:
<code class="python">import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as dates df = pd.DataFrame({'date': ['20170527', '20170526', '20170525'], 'ratio1': [1, 0.98, 0.97]}) df['date'] = pd.to_datetime(df['date']) usePandas = True # Either use Pandas if usePandas: df = df.set_index('date') 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") # or use Matplotlib else: fig, ax = plt.subplots(figsize=(6, 4)) ax.plot('date', 'ratio1', data=df) ax.xaxis.set_major_locator(dates.DayLocator()) ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a')) fig.invert_xaxis() plt.show()</code>
Dengan menggunakan salah satu daripada ini pendekatan, anda boleh memaparkan nilai masa tarikh dengan berkesan pada paksi-x plot Pandas DataFrame dengan pemformatan yang tepat.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Tarikh dengan Betul pada X-Axis Plot Garisan DataFrame Pandas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!