当一个图中有多个函数时,可以使用图例添加对函数的描述。
函数:plt.legend()
下面的例子中举了两种打印图例的方式,一种是不给legend()设置参数,默认打印所有图形的图例;一种是通过设置legend()函数的属性来打印图形的图例。
注意:legend()函数的handles属性用来控制图例中显示的图例包含哪些函数的信息,labels属性中的参数必须与handles中的参数对应,即用来显示函数的说明信息。
一旦在legend()函数中使用了labels属性,那么之前在plot函数中设置的label就会失效。如果labels中设置的参数比handels的参数少,那么labels中有多少个参数就会在图例中显示多少个函数信息。
plot函数石油返回值的,若想用legend函数的handles属性,必须在接收plot函数的返回值是加上一个‘,’。
loc表示图例的显示位置,默认显示位置为‘best’,即以最好的方式显示在图片中,尽量少的遮挡函数。
import matplotlib.pyplot as plt
from numpy import *
x=linspace(-2,2)
y1=2*x+1
y2=x**2
y3=x**3
#打印图例方式1,默认打印
plt.figure()
plt.plot(x,y1,label='y1=2*x+1',linestyle='--') #设置函数标签和函数线的类型
plt.plot(x,y2,label='y2=x**2')
plt.legend() #打印图例,m默认为所有函数显示图例,默认将图例显示在尽量不遮挡函数的位置
#打印图例方式2,设置打印参数
plt.figure()
l1,=plt.plot(x,y1,label='y1=2*x+1',linestyle='--') #设置函数标签和函数线的类型
l2,=plt.plot(x,y2,label='y2=x**2')
l3,=plt.plot(x,y3,label='y3=x**3',color='green')
plt.legend(handles=[l1,l3],labels=['Function 1','Function3'],loc='upper right') #设置图例中显示的内容
plt.show() #显示
运行结果: