Python 作圖之Matplotlib(二)
阿新 • • 發佈:2018-11-03
Legend
import matplotlib.pyplot as plt import numpy as np x = np.linspace(-3, 3, 50) y1 = 2*x + 1 y2 = x**2 plt.figure() #set x limits plt.xlim((-1, 2)) plt.ylim((-2, 3)) # set new sticks new_sticks = np.linspace(-1, 2, 5) plt.xticks(new_sticks) # set tick labels plt.yticks([-2, -1.8, -1, 1.22, 3], [r'$really\ bad$', r'$bad$', r'$normal$', r'$good$', r'$really\ good$'])
設定兩條線的型別等資訊(藍色實線與紅色虛線).
# set line syles
l1, = plt.plot(x, y1, label='linear line')
l2, = plt.plot(x, y2, color='red', linewidth=1.0, linestyle='--', label='square line')
引數 loc='upper right'
表示圖例將新增在圖中的右上角.
plt.legend(loc='upper right')
調整位置和名稱
如果我們想單獨修改之前的 label
資訊, 給不同型別的線條設定圖例資訊. 我們可以在 plt.legend
輸入更多引數. 如果以下面這種形式新增 legend, 我們需要確保, 在上面的程式碼 plt.plot(x, y2, label='linear line')
和 plt.plot(x, y1, label='square line')
中有用變數 l1
和 l2
分別儲存起來. 而且需要注意的是 l1,
l2,
要以逗號結尾, 因為plt.plot()
返回的是一個列表.
plt.legend(handles=[l1, l2], labels=['up', 'down'], loc='best')
loc’引數有多種,’best’表示自動分配最佳位置,其餘的如下:
'best' : 0,
'upper right' : 1,
'upper left' : 2,
'lower left' : 3,
'lower right' : 4,
'right' : 5,
'center left' : 6,
'center right' : 7,
'lower center' : 8,
'upper center' : 9,
'center' : 10,
參考:https://morvanzhou.github.io/tutorials/data-manipulation/plt/2-5-lagend/