关于matplotlib-legend 位置属性 loc 使用说明


Posted in Python onMay 16, 2020

在使用matplotlib画图时,少不了对性能图形做出一些说明和补充。一般情况下,loc属性设置为'best'就足够应付了

plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 'best')

或直接loc = 0

plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 0)

关于matplotlib-legend 位置属性 loc 使用说明

除'best',另外loc属性有:

'upper right', 'upper left', 'lower left', 'lower right', 'right', 'center left', 'center right', 'lower center', 'upper center', 'center'

关于matplotlib-legend 位置属性 loc 使用说明

不说太多,上面是全部的快捷使用,满足一般需求。

demo:

import matplotlib.pyplot as plt
import numpy as np
 
# 绘制普通图像
x = np.linspace(-1, 1, 50)
y1 = 2 * x + 1
y2 = x**2
 
plt.figure()
# 在绘制时设置lable, 逗号是必须的
l1, = plt.plot(x, y1, label = 'line')
l2, = plt.plot(x, y2, label = 'parabola', color = 'red', linewidth = 1.0, linestyle = '--')
 
# 设置坐标轴的取值范围
plt.xlim((-1, 1))
plt.ylim((0, 2))
 
# 设置坐标轴的lable
plt.xlabel('X axis')
plt.ylabel('Y axis')
 
# 设置x坐标轴刻度, 原来为0.25, 修改后为0.5
plt.xticks(np.linspace(-1, 1, 5))
# 设置y坐标轴刻度及标签, $$是设置字体
plt.yticks([0, 0.5], ['$minimum$', 'normal'])
 
# 设置legend
plt.legend(handles = [l1, l2,], labels = ['a', 'b'], loc = 'best')
plt.show()

运行结果:

关于matplotlib-legend 位置属性 loc 使用说明

补充知识:设置图列(key/legend)的位置和大小 --gnuplot

先看几个例子:

//不显示图例。
unset key
//设置图例 显示在图形(内)的顶部居中,并且多个图例水平显示。
set key top horizontal center
//设置图例 显示在图形(外)的顶部居中,并且多个图例水平显示。
set key top outside horizontal center
//设置图例 显示的字体并加粗。
set key font "Times,18,Bold"
//调整图例行间隔
set key spacing 3
//调整图例中线段示例长度
set key samplen 2

set key 的语法规则

Syntax: 
   set key {on|off} {default}
       {{inside | outside} | {lmargin | rmargin | tmargin | bmargin}
        | {at <position>}}
       {left | right | center} {top | bottom | center}
       {vertical | horizontal} {Left | Right}
       {{no}reverse} {{no}invert}
       {samplen <sample_length>} {spacing <vertical_spacing>}
       {width <width_increment>}
       {height <height_increment>}
       {{no}autotitle {columnheader}}
       {title "<text>"} {{no}enhanced}
       {{no}box { {linestyle | ls <line_style>}
            | {linetype | lt <line_type>}
             {linewidth | lw <line_width>}}}
   unset key
   show key

Elements within the key are stacked according to vertical or horizontal. In the case of vertical, the key occupies as few columns as possible. That is, elements are aligned in a column until running out of vertical space at which point a new column is started. In the case of horizontal, the key occupies as few rows as possible.

图例是依据我们设置的水平显示或垂直显示进行堆叠式地显示。

对于垂直显示,pnuplot会占用尽可能少的行来放置我们的图例,当图例在一行显示不下时,它会另启一行来显示。

对于水平显示方式,pnuplot会占用尽可能少的列来放置我们的图例,当图例在一列显示不下时,它会另启一列来放置。

The vertical spacing between lines is controlled by spacing. The spacing is set equal to the product of the pointsize, the vertical tic size, and vertical_spacing. The program will guarantee that the vertical spacing is no smaller than the character height.

The defaults for set key are on, right, top, vertical, Right, noreverse, noinvert, samplen 4, spacing 1.25, title “”, and nobox.

以上这篇关于matplotlib-legend 位置属性 loc 使用说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
让python json encode datetime类型
Dec 28 Python
深入解读Python解析XML的几种方式
Feb 16 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
python操作文件的参数整理
Jun 11 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
Oct 17 Python
python str字符串转uuid实例
Mar 03 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 Python
python 遍历磁盘目录的三种方法
Apr 02 Python
python如何查找列表中元素的位置
May 30 Python
Python matplotlib画图时图例说明(legend)放到图像外侧详解
May 16 #Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
May 16 #Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 #Python
Python验证码截取识别代码实例
May 16 #Python
基于plt.title无法显示中文的快速解决
May 16 #Python
基于python生成英文版词云图代码实例
May 16 #Python
解决Python数据可视化中文部分显示方块问题
May 16 #Python
You might like
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
PHP各种异常和错误的拦截方法及发生致命错误时进行报警
2016/01/19 PHP
php基于jquery的ajax技术传递json数据简单实例
2016/04/15 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
使用PHP开发留言板功能
2019/11/19 PHP
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
JS动画效果打开、关闭层的实现方法
2015/05/09 Javascript
浅谈javascript构造函数与实例化对象
2015/06/22 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
vue组件 keep-alive 和 transition 使用详解
2019/10/11 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
python改变日志(logging)存放位置的示例
2014/03/27 Python
python安装以及IDE的配置教程
2015/04/29 Python
Django中针对基于类的视图添加csrf_exempt实例代码
2018/02/11 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
利用CSS3把图片变成灰色模式的实例代码
2016/09/06 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
体育教育专业自荐信范文
2013/12/20 职场文书
学生思想表现的评语
2014/01/30 职场文书
六月份红领巾广播稿
2014/02/03 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
angular4实现带搜索的下拉框
2022/03/25 Javascript