在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中SocketServer模块处理网络请求的用法
Jun 28 Python
python检查URL是否正常访问的小技巧
Feb 25 Python
使用paramiko远程执行命令、下发文件的实例
Oct 01 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
python用opencv批量截取图像指定区域的方法
Jan 24 Python
如何在Cloud Studio上执行Python代码?
Aug 09 Python
基于python实现从尾到头打印链表
Nov 02 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
快速创建python 虚拟环境
Nov 28 Python
Django项目配置Memcached和Redis, 缓存选择哪个更有优势
Apr 06 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
2011/05/09 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
php的socket编程详解
2016/11/20 PHP
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
Python实现的最近最少使用算法
2015/07/10 Python
python输入错误密码用户锁定实现方法
2017/11/27 Python
Python中模块(Module)和包(Package)的区别详解
2019/08/07 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
2019/09/04 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
浅谈Html5页面打开app的一些思考
2020/03/30 HTML / CSS
SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?
2013/05/18 面试题
旅游管理专业学生求职信
2013/09/28 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
追悼词范文大全
2015/06/23 职场文书
2015入党自传格式范文
2015/06/26 职场文书
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL
Win10 Anaconda安装python-pcl
2022/04/29 Servers