如何使用圖例和 Matplotlib 中的輔助 Y 軸在同一張圖上繪製兩個 Pandas 時間序列?


為了在同一個圖上繪製帶有圖例和輔助 Y 軸的兩個 Pandas 時間序列,我們可以採取以下步驟 −

  • 設定圖形大小並調整子圖之間及周圍的邊距。

  • 建立一個具有軸標籤(包括時間序列)的一維 ndarray

  • 使用一些列清單建立一個數據框。

  • 使用資料框 plot() 方法繪製列 AB

  • 使用 get_legend_handles_labels() 方法返回圖例的手柄和標籤。

  • 使用 legend() 方法將圖例放在圖形上。

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

示例

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np

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

ts = pd.Series(np.random.randn(10), index=pd.date_range('2021-04-10', periods=10))

df = pd.DataFrame(np.random.randn(10, 4), index=ts.index, columns=list('ABCD'))

ax1 = df.A.plot(color='red', label='Count')
ax2 = df.B.plot(color='yellow', secondary_y=True, label='Sum')

h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()

plt.legend(h1+h2, l1+l2, loc=2)

plt.show()

輸出

更新於: 04-6 月-2021

2K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.