如何在 Matplotlib 雙 Y 軸圖表中對齊條形圖和折線圖?


若要在 Matplotlib 中將條形圖和折線圖對齊,我們可以使用 twinx() 方法建立一個 Twin of Axes,它具有一個共享 X 軸但獨立 Y 軸。

步驟

  • 設定圖片大小並調整子圖之間和周圍的填充。

  • 使用列 1 和 2 製作一個 Pandas 資料框。

  • 使用 plot() 方法以 kind="bar" 繪製資料框,即按名稱對類進行分類。

  • 使用 twinx() 方法建立一個 Twin of Axes,它具有一個共享 X 軸但獨立 Y 軸。

  • 繪製軸 (步驟 3) 刻度並使資料框列值繪製折線。

  • 若要顯示圖片,請使用 show() 方法。

示例

from matplotlib import pyplot as plt
import pandas as pd

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

df = pd.DataFrame({"col1": [1, 3, 5, 7, 1], "col2": [1, 5, 7, 9, 1]})
ax = df.plot(kind="bar")
ax2 = ax.twinx()

ax2.plot(ax.get_xticks(),
   df[['col1', 'col2']].values,
   linestyle='-',
   marker='o', linewidth=2.0)

plt.show()

輸出

更新時間:03-Jun-2021

2K+ 瀏覽量

開啟你的職業

完成課程以獲取認證

開始
廣告
© . All rights reserved.