Pandas Dataframe 線圖在x 軸上顯示日期
問題:
問題:問題:
問題:
問題:問題:
問時x 軸上帶有日期的Pandas DataFrame,matplotlib 函式庫會產生不正確的格式和與資料不正確對應的日期。答案:
不相容性Pandas 和 Matplotlib 的日期時間實用程式之間的差異是此問題的根本原因。 Pandas 對日期時間物件使用非標準浮點表示,這與 Matplotlib 自己的日期格式化方法不相容。<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>停用Pandas 日期格式:透過在繪製DataFrame 時設定x_compat=True,Pandas 將使用Matplotlib 的內部日期格式化機制,允許更精確地控制x 軸格式。 專門使用Matplotlib 繪圖和格式化:而不是依賴在Pandas 上進行日期繪圖,您可以使用Matplotlib 自己的方法來處理日期值和格式。這提供了更大的靈活性,並允許您根據需要自訂日期格式。 以下是示範這兩種方法的更新範例:透過使用其中任何一種方法,您可以有效地在Pandas DataFrame 圖的x軸上顯示具有準確格式的日期時間值。
以上是如何在 Pandas DataFrame 線圖的 X 軸上正確顯示日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!