一、位置参数
在使用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/n/247787.html