Pandas 和Matplotlib 日期時間物件之間的不相容性
嘗試在Pandas Dataframe 線圖的x 軸上顯示日期時,可能會出現差異由於Pandas 和Matplotlib 日期時間實用程式之間固有的不相容性而出現。因此,可能會出現有問題的可視化。
在 Matplotlib 中加入 DateFormatter 可能會帶來問題,例如不正確的開始日期和不正確的工作日標籤。這是因為 Pandas 使用自己的日期時間格式,與 Matplotlib 使用的格式不同。
要解決此衝突,建議不要混合使用 Pandas 和 Matplotlib 日期時間物件。或者,您可以透過在繪圖時將 x_compat 參數設為 True 來指示 Pandas 不要使用其預設日期時間格式。
使用 Matplotlib 進行日期格式
用於進階日期格式功能,請考慮利用 Matplotlib 的本機函數。這種方法為 x 軸上的日期格式提供了更大的靈活性和控制。
<code class="python">import pandas as pd import matplotlib.pyplot as plt import matplotlib.dates as dates # Dataframe creation and formatting df = pd.DataFrame({'date':['20170527','20170526','20170525'],'ratio1':[1,0.98,0.97]}) df['date'] = pd.to_datetime(df['date']) # Matplotlib plotting using object-oriented API fig, ax = plt.subplots(figsize=(6,4)) ax.plot('date', 'ratio1', data=df) # Date formatting using Matplotlib functions ax.xaxis.set_major_locator(dates.DayLocator()) ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a')) # Additional formatting and display ax.invert_xaxis() fig.autofmt_xdate(rotation=0, ha="center") plt.show()</code>
此程式碼片段示範了 Matplotlib 物件導向的 API 的使用,它提供了對繪圖及其繪圖的更精細的控制。元素。透過明確定義圖形和座標軸,可以將自訂格式套用至 x 軸。
您可以透過調整 DateFormatter 物件的參數來進一步自訂日期格式,例如指定日期格式字串、啟用旋轉或對齊,以及控制顯示的日期數量。
以上是如何解決 Pandas 和 Matplotlib 之間的日期時間不相容問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!