说明
语法
matplotlib.pyplot.legend(loc,bbox_to_anchor,labels,)
参数说明:
loc :图例显示位置,默认显示右上角,值为
upper left表示左上角,具体值参看下面bbox_to_anchor:图例的微调位置
labels:图例文字
fontsize:设置字体大小,类型:int or {‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’}
labelcolor:标签文字颜色,类型:str or list
返回值:
返回图例对象,作用:通过该图例对象可以设置图例文字颜色
loc的值
- ‘best’ (Axes only):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
例子:绘制两天气温变化图,并添加图例
import matplotlib.pyplot as plt
# 设置 微软雅黑 字体,解决中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
temps=[23,22,23,24,27,28,25,23]
hours=list(range(2,26,3))
temps2=[24,23,24,25,29,31,27,25]
# 绘制折线并添加图例
plt.plot(hours,temps,label='8月1日')
# 绘制折线并添加图例
plt.plot(hours,temps2,label='8月2日')
# 显示图例
plt.legend(loc='upper left')
# 显示
plt.show()
bbox_to_anchor:微调位置
参数 bbox_to_anchor: 表示在 loc 的基础上,再进行微调
值:
(x,y,width,height)
参数:
- x:微调的x坐标
- y:微调的y坐标
- width:图例的宽度
- height:图例的高度
x, y 与 loc 的值有关,如果 loc 是 upper left,那么:
- 如果 x=0,y=0,表示原位置,即左上角
- 如果 x=-0.1,表示原位置的基础上,再左移 0.1
- 如果 x= 0.1,表示原位置的基础上,再右移 0.1
- 如果 y=-0.1,表示原位置的基础上,再下移 0.1
- 如果 y= 0.1,表示原位置的基础上,再上移 0.1
例子
plt.legend(loc='upper left',labels = labels, bbox_to_anchor=(-0.4, 0, 0.5, 1))
设置图例文字颜色
leg = plt.legend(loc='upper left',labels = labels)
# 获取图例中的文本对象
for text in leg.get_texts():
text.set_color('w') # 设置图例文本的颜色
