matplotlib图例legend语法及设置的方法


Posted in Python onJuly 28, 2020

1.图例legend基础语法及用法

legend语法参数如下: matplotlib.pyplot.legend(*args, **kwargs)

Keyword Description
loc Location code string, or tuple (see below).图例所有figure位置
prop the font property字体参数
fontsize the font size (used only if prop is not specified)
markerscale the relative size of legend markers vs. original 图例标记与原始标记的相对大小
markerfirst If True (default), marker is to left of the label. 如果为True,则图例标记位于图例标签的左侧
numpoints the number of points in the legend for line 为线条图图例条目创建的标记点数
scatterpoints the number of points in the legend for scatter plot 为散点图图例条目创建的标记点数
scatteryoffsets a list of yoffsets for scatter symbols in legend 为散点图图例条目创建的标记的垂直偏移量
frameon If True, draw the legend on a patch (frame). 控制是否应在图例周围绘制框架
fancybox If True, draw the frame with a round fancybox. 控制是否应在构成图例背景的FancyBboxPatch周围启用圆边
shadow If True, draw a shadow behind legend. 控制是否在图例后面画一个阴影
framealpha Transparency of the frame. 控制图例框架的 Alpha 透明度
edgecolor Frame edgecolor.
facecolor Frame facecolor.
ncol number of columns 设置图例分为n列展示
borderpad the fractional whitespace inside the legend border 图例边框的内边距
labelspacing the vertical space between the legend entries 图例条目之间的垂直间距
handlelength the length of the legend handles 图例句柄的长度
handleheight the height of the legend handles 图例句柄的高度
handletextpad the pad between the legend handle and text 图例句柄和文本之间的间距
borderaxespad the pad between the axes and legend border 轴与图例边框之间的距离
columnspacing the spacing between columns 列间距
title the legend title
bbox_to_anchor the bbox that the legend will be anchored.指定图例在轴的位置
bbox_transform the transform for the bbox. transAxes if None.

(1)设置图例位置

使用loc参数

0: ‘best' 1: ‘upper right' 2: ‘upper left' 3: ‘lower left' 4: ‘lower right' 5: ‘right' 6: ‘center left' 7: ‘center right' 8: ‘lower center' 9: ‘upper center' 10: ‘center'

(2)设置图例字体

#设置字体大小
fontsize : int or float or {‘xx-small', ‘x-small', ‘small', ‘medium', ‘large', ‘x-large', ‘xx-large'}

(3)设置图例边框及背景

plt.legend(loc='best',frameon=False) #去掉图例边框
plt.legend(loc='best',edgecolor='blue') #设置图例边框颜色
plt.legend(loc='best',facecolor='blue') #设置图例背景颜色,若无边框,参数无效

(4)设置图例标题

plt.legend(loc='best',title='figure 1 legend') #去掉图例边框

2.legend面向对象命令

(1)获取并设置legend图例       

plt.legend(loc=0, numpoints=1)
leg = plt.gca().get_legend() #或leg=ax.get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize=12,fontweight='bold')

(2)设置图例

legend = ax.legend((rectsTest1, rectsTest2, rectsTest3), ('test1', 'test2', 'test3')) 
legend = ax.legend(loc='upper center', shadow=True, fontsize='x-large')
legend.get_frame().set_facecolor('red') #设置图例legend背景为红色
frame = legend.get_frame() 
frame.set_alpha(1) 
frame.set_facecolor('none') #设置图例legend背景透明

(3)移除图例

ax1.legend_.remove() ##移除子图ax1中的图例
ax2.legend_.remove() ##移除子图ax2中的图例
ax3.legend_.remove() ##移除子图ax3中的图例

3.案例:设置图例legend到图形边界外

#主要是bbox_to_anchor的使用
box = ax1.get_position()
ax1.set_position([box.x0, box.y0, box.width , box.height* 0.8])
ax1.legend(loc='center', bbox_to_anchor=(0.5, 1.2),ncol=3)

4.案例:显示多图例legend

import matplotlib.pyplot as plt
import numpy as np
x = np.random.uniform(-1, 1, 4)
y = np.random.uniform(-1, 1, 4)
p1, = plt.plot([1,2,3])
p2, = plt.plot([3,2,1])
l1 = plt.legend([p2, p1], ["line 2", "line 1"], loc='upper left')
 
p3 = plt.scatter(x[0:2], y[0:2], marker = 'D', color='r')
p4 = plt.scatter(x[2:], y[2:], marker = 'D', color='g')
# This removes l1 from the axes.
plt.legend([p3, p4], ['label', 'label1'], loc='lower right', scatterpoints=1)
# Add l1 as a separate artist to the axes
plt.gca().add_artist(l1)

matplotlib图例legend语法及设置的方法

import matplotlib.pyplot as plt
line1, = plt.plot([1,2,3], label="Line 1", linestyle='--')
line2, = plt.plot([3,2,1], label="Line 2", linewidth=4)
# 为第一个线条创建图例
first_legend = plt.legend(handles=[line1], loc=1)
# 手动将图例添加到当前轴域
ax = plt.gca().add_artist(first_legend)
# 为第二个线条创建另一个图例
plt.legend(handles=[line2], loc=4)
plt.show()

matplotlib图例legend语法及设置的方法

 到此这篇关于matplotlib图例legend语法及设置的方法的文章就介绍到这了,更多相关matplotlib legend内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python局部赋值的规则
Mar 07 Python
python列表操作实例
Jan 14 Python
python使用arp欺骗伪造网关的方法
Apr 24 Python
Python的Django框架中TEMPLATES项的设置教程
May 29 Python
python opencv之SURF算法示例
Feb 24 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
快速解决安装python没有scripts文件夹的问题
Apr 03 Python
python 阶乘累加和的实例
Feb 01 Python
python Popen 获取输出,等待运行完成示例
Dec 30 Python
python数据爬下来保存的位置
Feb 17 Python
Django项目创建及管理实现流程详解
Oct 13 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
Matplotlib中%matplotlib inline如何使用
Jul 28 #Python
Python基于xlrd模块处理合并单元格
Jul 28 #Python
Python 在函数上添加包装器
Jul 28 #Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 #Python
Python 如何反方向迭代一个序列
Jul 28 #Python
Python Matplotlib简易教程(小白教程)
Jul 28 #Python
Python把图片转化为pdf代码实例
Jul 28 #Python
You might like
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
浅析linux下apache服务器的配置和管理
2013/08/10 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
PHP框架性能测试报告
2016/05/08 PHP
利用PHP实现一个简单的用户登记表示例
2017/04/25 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
通过Javascript读取本地Excel文件内容的代码示例
2014/04/08 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
纯javascript制作日历控件
2015/07/17 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
vue-cli项目中怎么使用mock数据
2017/09/27 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
跟老齐学Python之Python安装
2014/09/12 Python
python基础之入门必看操作
2017/07/26 Python
python实现的发邮件功能示例
2019/09/11 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
Python设计密码强度校验程序
2020/07/30 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
简单说说tomcat的配置
2013/05/28 面试题
有关环保的标语
2014/06/13 职场文书
2015年保洁员工作总结
2015/05/04 职场文书
功夫熊猫观后感
2015/06/10 职场文书
python中print格式化输出的问题
2021/04/16 Python