在matplotlib中改变figure的布局和大小实例


Posted in Python onApril 23, 2020

以下来自Stack Overflow

在matplotlib中改变figure的布局和大小实例

在matplotlib中改变figure的布局和大小实例

从上面我们可以很清晰的看出应该如何使用matplotlib的figure方法。

补充知识:matplotlib 设置图形大小时 figsize 与 dpi 的关系

matplotlib 中设置图形大小的语句如下:

fig = plt.figure(figsize=(a, b), dpi=dpi)

其中:

figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸

dpi 为设置图形每英寸的点数

则此时图形的像素为:

px, py = a*dpi, b*dpi # pixels
# e.g.
# 6.4 inches * 100 dpi = 640 pixels

也就是说,同一像素尺寸的图形(比如 1200 * 600)可以有任意种不同的组合,比如:

figsize=(15,7.5), dpi= 80
figsize=(12,6) , dpi=100
figsize=( 8,4) , dpi=150
figsize=( 6,3) , dpi=200
etc.

但这些不同的组合,有什么区别呢?这取决于图中元素的大小。

线条,标记,文本等大多数元素都有以磅为单位的大小。Matplotlib 中 每英寸点数(ppi)为72,则宽度为 1 点的线将为 1/72 英寸宽,使用 fontsize 12 点的文本将是 12/72 寸高。

为了便于说明,用 matplotlib绘制相应的图形,如 表1 所示。

如果以英寸为单位更改图形大小,而 dpi 不变,较大的图形仍具有相同的元素大小。因此,改变图形尺寸就像拿一张不同尺寸的纸张一样,这样做当然不会改变用同一笔绘制的线条的宽度。通过表 1 中的图形2, 4, 6 的对比,可以明显的看出来这一点。

另一方面,更改dpi会缩放元素。在72 dpi时,1 宽度的线是 1 像素。在144 dpi时,这条线就是 2 像素。

span>因此,更大的dpi就像放大镜一样。所有元素都通过镜头的放大倍数进行缩放。 通过表 1 中的图形 1 3 5 的对比,可以看出这一点。

综上:

图形尺寸(figsize)确定图形的大小(以英寸为单位)。 这给出了轴(和其他元素)在图中的空间量。 较大的图形尺寸将允许显示更长的文本,更多的轴或更多的标记标签(表1中图形3与图形4,图形5与图形6的对比可看出,像素尺寸相同时,图形尺寸越大,所能容纳的内容越多)。

dpi 确定了图形每英寸包含的像素数,图形尺寸相同的情况下, dpi 越高,则图像的清晰度越高(表1中 1,3,5 对比可看出)

以上这篇在matplotlib中改变figure的布局和大小实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python获取指定网页上所有超链接的方法
Apr 04 Python
Python实现单词翻译功能
Jun 06 Python
Python设计模式之工厂模式简单示例
Jan 09 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
对Python 获取类的成员变量及临时变量的方法详解
Jan 22 Python
关于pycharm中pip版本10.0无法使用的解决办法
Oct 10 Python
pytorch之添加BN的实现
Jan 06 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
Python datetime模块使用方法小结
Jun 18 Python
如何解决python多种版本冲突问题
Oct 13 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 Python
Python将二维列表list的数据输出(TXT,Excel)
Apr 23 #Python
Python基于DB-API操作MySQL数据库过程解析
Apr 23 #Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 #Python
Python matplotlib实时画图案例
Apr 23 #Python
windows下的pycharm安装及其设置中文菜单
Apr 23 #Python
使用python+poco+夜神模拟器进行自动化测试实例
Apr 23 #Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 #Python
You might like
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
PHP.ini安全配置检测工具pcc简单介绍
2015/07/02 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
JavaScript 学习技巧
2010/02/17 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
jQuery自定义动画函数实例详解(附demo源码)
2015/12/10 Javascript
ASP.NET jquery ajax传递参数的实例
2016/11/02 Javascript
JavaScript中Promise的使用详解
2017/02/26 Javascript
深入理解vue2.0路由如何配置问题
2017/07/18 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
2017/12/06 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
vue-calendar-component 封装多日期选择组件的实例代码
2020/12/04 Vue.js
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
[01:59]游戏“zheng”当时试玩会
2019/08/21 DOTA
Python文档生成工具pydoc使用介绍
2015/06/02 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
2019/11/07 Python
PySide2出现“ImportError: DLL load failed: 找不到指定的模块”的问题及解决方法
2020/06/10 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
h5封装下拉刷新
2020/08/25 HTML / CSS
美国温暖商店:The Warming Store
2018/12/15 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
爱情寄语大全
2014/04/09 职场文书
高中运动会前导词
2015/07/20 职场文书
python playwright之元素定位示例详解
2022/07/23 Python