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 軸上正確顯示日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!