一、位置參數
在使用matplotlib繪圖時,圖例就是區分不同數據的重要標識,plt.legend()作為添加圖例的函數,主要有幾個參數需要注意。首先是位置參數,它是用來定義圖例的位置的,matplotlib預先定義了一些標準的位置字符串,當然也可以自定義。如下示例代碼:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(loc='upper right')
plt.show()
上述代碼中,plt.legend()函數傳入了loc參數,它接受的值可以是’best'(自適應最佳位置),’upper right’(右上角)等等。loc的完整可選值如下:’best’、’upper right’、’upper left’、’lower left’、’lower right’、’right’、’center left’、’center right’、’lower center’、’upper center’、’center’
二、標籤參數
其次是標籤參數,就是用來自定義圖例標籤文本的。如果直接給plt.plot()函數設置了label參數,那麼這個標籤就會被plt.legend()函數自動識別。例如:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend()
plt.show()
這裡沒有傳入loc參數,所以系統會自動選擇’best’位置,也就是最適合的位置。同時我們也可以通過plt.legend([‘sin(x)’, ‘cos(x)’])來手動設定標籤文本。
三、圖例標題參數
plt.legend()函數還有一個title參數,用於為整個圖例添加標題,同樣代表函數的調用文本是圖例的標題。這個參數跟標籤參數很像:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(title='trig functions')
plt.show()
四、圖例邊框參數
接下來是邊框參數,也就是edgecolor、facecolor和linewidth參數,這三個參數可以定義圖例的邊框顏色、圖例背景色以及邊框粗細。我們通過下面的代碼片段來學習如何使用它們:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(edgecolor='black', facecolor='white', linewidth=2)
plt.show()
這裡的邊框顏色是黑色,背景色是白色,邊框粗細為2。
五、圖例框架參數
最後一個參數是frameon參數,用於控制是否繪製圖例框架。當我們把這個參數設為False時,則只會畫出標籤文本,但不會有邊框和背景色:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')
plt.legend(frameon=False)
plt.show()
當然,如果我們想自定義框架的顏色、粗細、背景色等,可以通過前面提到的參數進行設置。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/247787.html