欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib的学习5-legend图例

程序员文章站 2022-03-20 18:04:41
...
import matplotlib.pyplot as plt
import numpy as np

'''
legend 图例就是为了帮我们展示出每个数据对应的图像名称. 更好的让读者认识到你的数据结构.
'''

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')#lable 就是显示的名字

# legend将要显示的信息来自于上面代码中的 label. 所以我们只需要简单写下一下代码, plt 就能自动的为我们添加图例.
plt.legend(loc='upper right')#所谓的图例就是标识出来线段的lable  legend means 图例

# 如果想单独修改之前的label信息,给不同类型的线条设置图例的信息,我们可以在legend输入更多的参数
# 如果以下面的这种形式添加legend,我们需要担保,在上面的代码中用了l1和l2分别把他们存储了起来,
# 注意这里l1,l2要用逗号来结尾,因为plt.plot()返回的是一个列表

plt.legend(handles=[l1,l2],labels=['up','down'],loc='best')

plt.show()

#其中loc的参数有很多,'best'表示自动分配最佳的位置

 l1 = plt.plot(x,y1,lable='linear line')  表示l1是一条线,x,y参数确定,lable表示这个线在figure里面的名称

plt.legend(loc='upper right') #plt的图例放置的位置在loc参数中

plt.legend(handles=[l1,l2],lables=['up','down'],loc='best')在此代码中把l1,l2的图例调下位置,loc的参数有很多best表示的是自动调整到最佳的位置