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 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
详解Django框架中的视图级缓存
Jul 23 Python
如何在Python中编写并发程序
Feb 27 Python
python实现简易云音乐播放器
Jan 04 Python
Python实现的栈(Stack)
Jan 26 Python
Python OpenCV获取视频的方法
Feb 28 Python
python实现数独游戏 java简单实现数独游戏
Mar 30 Python
神经网络相关之基础概念的讲解
Dec 29 Python
PyTorch之图像和Tensor填充的实例
Aug 18 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
Oct 31 Python
Python实现byte转integer
Jun 03 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
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
php中使用key,value,current,next和prev函数遍历数组的方法
2015/03/17 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
jquery tab插件制作实现代码
2010/06/22 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
基于Python中求和函数sum的用法详解
2018/06/28 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
pycharm中import呈现灰色原因的解决方法
2020/03/04 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
html5指南-1.html5全局属性(html5 global attributes)深入理解
2013/01/07 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
Emma Bridgewater官网:英国餐具制造商
2019/11/24 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
建筑公司文秘岗位职责
2013/11/29 职场文书
大学生优秀自荐信范文
2014/02/25 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
golang中的struct操作
2021/11/11 Golang