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写的创建文件夹自定义函数mkdir()
Aug 25 Python
Python实现的简单文件传输服务器和客户端
Apr 08 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
Apr 28 Python
使用Python绘制图表大全总结
Feb 11 Python
Python实现直方图均衡基本原理解析
Aug 08 Python
python实现对变位词的判断方法
Apr 05 Python
Python 如何查找特定类型文件
Aug 17 Python
如何使用python写截屏小工具
Sep 29 Python
使用django自带的user做外键的方法
Nov 30 Python
Python爬取网站图片并保存的实现示例
Feb 26 Python
python中if和elif的区别介绍
Nov 07 Python
详解Python flask的前后端交互
Mar 31 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实现的比较完善的购物车类
2014/12/02 PHP
非常重要的php正则表达式详解
2016/01/04 PHP
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
2014/06/11 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
JavaScript Math.round() 方法
2015/12/18 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
js 判断登录界面的账号密码是否为空
2017/02/08 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
Openlayers实现地图全屏显示
2020/09/28 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
python快速查找算法应用实例
2014/09/26 Python
单利模式及python实现方式详解
2018/03/20 Python
sklearn+python:线性回归案例
2020/02/24 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
不开辟用于交换数据的临时空间,如何完成字符串的逆序
2012/12/02 面试题
学校门卫工作职责
2013/12/07 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
高中化学教学反思
2014/01/13 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
上课说话检讨书
2015/01/27 职场文书