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 pygame安装过程笔记
Jun 05 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Python快速查找list中相同部分的方法
Jun 27 Python
详解django中使用定时任务的方法
Sep 27 Python
python 内置模块详解
Jan 01 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 Python
python三引号输出方法
Feb 27 Python
python TCP包注入方式
May 05 Python
python+openCV对视频进行截取的实现
Nov 27 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Python OpenCV形态学运算示例详解
Apr 07 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 addslashes 函数详细分析说明
2009/06/23 PHP
php获取字段名示例分享
2014/03/03 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery给元素添加样式的方法详解
2015/12/30 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
Python实现读取文件最后n行的方法
2017/02/23 Python
python多进程实现进程间通信实例
2017/11/24 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
Python线程同步的实现代码
2018/10/03 Python
Python eval的常见错误封装及利用原理详解
2019/03/26 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
基于python实现音乐播放器代码实例
2020/07/01 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
小蚁科技官方商店:YI Technology
2019/08/23 全球购物
小学美术教学反思
2014/02/01 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
央视元宵晚会主持串词
2014/03/25 职场文书
《莫泊桑拜师》教学反思
2014/04/23 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
中学生运动会口号
2014/06/07 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
python字典进行运算原理及实例分享
2021/08/02 Python
oracle数据库去除重复数据
2022/05/20 Oracle