首頁 >後端開發 >Python教學 >如何在 Matplotlib 子圖中有效率地繪製多個 Pandas DataFrame?

如何在 Matplotlib 子圖中有效率地繪製多個 Pandas DataFrame?

Linda Hamilton
Linda Hamilton原創
2024-12-04 00:36:09790瀏覽

How to Efficiently Plot Multiple Pandas DataFrames in Matplotlib Subplots?

使用Matplotlib 在子圖中繪製多個DataFrame

使用Pandas 進行資料分析時,通常會使用多個DataFrame 來表示數據的不同面向。為了有效地視覺化這些 DataFrame,將它們繪製在子圖中是非常有益的。

如果 DataFrame 共享相同的值範圍但具有不同的列和索引,嘗試使用 df.plot() 單獨繪製每個 DataFrame 將產生單獨的繪圖圖像。為了克服這個限制並在子圖中顯示 DataFrame,需要採用不同的方法。

手動建立子圖

Matplotlib 提供了手動建立子圖以進行自訂視覺化的功能。以下步驟概述如何在子圖中繪製多個 DataFrame:

  1. 將 matplotlib.pyplot 匯入為 plt。
  2. 使用 plt.subplots(nrows, ncols) 建立子圖網格,其中 nrows 和 ncols 分別指定行數和列數。此步驟傳回圖形物件 (fig) 和一個子圖軸 (axes) 陣列。
  3. 對於每個 DataFrame,呼叫 DataFrame.plot() 並將特定子圖軸傳遞給 ax 關鍵字。例如,如果要繪製第一個子圖中的第一個 DataFrame,請使用 df1.plot(ax=axes[0,0])。
  4. 要共用 x 軸,可以指定 sharex=True在 plt.subplots() 呼叫中。

範例程式碼

以下程式碼示範如何使用手動子圖建立方法在子圖中繪製四個DataFrame(df1、df2、df3 和df4 ):

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True)

df1.plot(ax=axes[0,0])
df2.plot(ax=axes[0,1])
df3.plot(ax=axes[1,0])
df4.plot(ax=axes[1,1])

plt.show()

此程式碼將建立一個包含四個子圖的圖形,其中每個DataFrame都繪製在其各自的子圖中。所有子圖將共用相同的 x 軸,以便輕鬆比較不同 DataFrame 中的資料。

以上是如何在 Matplotlib 子圖中有效率地繪製多個 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn