為多個Matplotlib 子圖建立單一圖例
使用Matplotlib 跨多個子圖繪製類似資訊時,建立單一圖例可能會很有幫助適用於所有子圖的圖例。這透過為每個子圖中的線條提供一致的參考來簡化數據的解釋。
要實現這一點,請在最後一個軸上使用 get_legend_handles_labels() 函數或呼叫 plt.gca().get_legend_handles_labels( )如果使用 pyplot 介面。這些函數從 label= 參數收集必要的圖例句柄和標籤。
要建立單一圖例,請呼叫Fig.legend(handles, labels, loc='upper center'),其中Fig 是包含subplots 和 loc 指定圖例的位置。
例如,如果您有一個具有相同線條的 3x3 子圖網格,以下程式碼將在所有子圖上方加上一個圖例:
import matplotlib.pyplot as plt import numpy as np # Generate data for the subplots data = np.random.rand(9) # Create the subplots fig, axes = plt.subplots(3, 3) # Plot the data on each subplot for ax, datum in zip(axes.flatten(), data): ax.plot(datum) # Get the legend handles and labels handles, labels = plt.gca().get_legend_handles_labels() # Create the single legend plt.legend(handles, labels, loc='upper center') plt.show()
以上是如何為多個 Matplotlib 子圖建立單一圖例?的詳細內容。更多資訊請關注PHP中文網其他相關文章!