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使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
python去除字符串中的换行符
Oct 11 Python
Python实现的txt文件去重功能示例
Jul 07 Python
python 解压pkl文件的方法
Oct 25 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
python如何实现异步调用函数执行
Jul 08 Python
Python编译成.so文件进行加密后调用的实现
Dec 23 Python
Python如何实现大型数组运算(使用NumPy)
Jul 24 Python
Python如何使用input函数获取输入
Aug 06 Python
Python爬虫开发与项目实战
Dec 16 Python
win10+anaconda安装yolov5的方法及问题解决方案
Apr 29 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&&mysql)一
2006/10/09 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
php实现Mysql简易操作类
2015/10/11 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
基于jQuery的获取标签名的代码
2012/07/16 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
jQuery中ajax和post处理json的不同示例对比
2014/11/02 Javascript
轮播图组件js代码
2016/08/08 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
vue.js的安装方法
2017/05/12 Javascript
基于JavaScript实现飘落星星特效
2017/08/10 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
vue-cli脚手架-bulid下的配置文件
2018/03/27 Javascript
全面了解JavaScript的作用域链
2019/04/03 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
python实现发送邮件功能
2017/07/22 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
2021/01/08 Python
英国著名的小众美容品牌网站:Alyaka
2017/08/08 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
计算机软件个人的自荐信范文
2013/12/01 职场文书
财务主管岗位职责
2014/02/28 职场文书
质量整改通知单
2015/04/21 职场文书
浅谈Golang 嵌套 interface 的赋值问题
2021/04/29 Golang
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers