在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基础教程之udp端口扫描
Feb 10 Python
Python正则获取、过滤或者替换HTML标签的方法
Jan 28 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
python如何去除字符串中不想要的字符
Jul 05 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
May 24 Python
浅谈python标准库--functools.partial
Mar 13 Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
Mar 26 Python
Python xlwt模块使用代码实例
Jun 10 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 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 中文处理函数集合
2008/08/27 PHP
PHP STRING 陷阱原理说明
2010/07/24 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
jQuery之end()和pushStack()使用介绍
2012/02/07 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
jqGrid表格应用之新增与删除数据附源码下载
2015/12/02 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
jquery实时获取时间的简单实例
2017/01/26 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
JS实现520 表白简单代码
2018/05/21 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
详解Swift中属性的声明与作用
2016/06/30 Python
简单了解python代码优化小技巧
2019/07/08 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
2020/06/03 Python
前台接待员岗位职责
2014/01/02 职场文书
预备党员的自我评价
2014/03/12 职场文书
英文求职信范文
2014/05/23 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
教师培训学习心得体会
2016/01/21 职场文书
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL