在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网络爬虫项目:内容提取器的定义
Oct 25 Python
Python实现的径向基(RBF)神经网络示例
Feb 06 Python
python实现简单http服务器功能
Sep 17 Python
Python 互换字典的键值对实例
Feb 12 Python
pandas 数据结构之Series的使用方法
Jun 21 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
python的列表List求均值和中位数实例
Mar 03 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 Python
Python字符串查找基本操作代码案例
Oct 27 Python
Flask中jinja2的继承实现方法及实例
Mar 03 Python
浅谈Python中对象是如何被调用的
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
玛琪朵 Macchiato
2021/03/03 咖啡文化
加速XP搜索功能堪比vista
2007/03/22 PHP
php利用header函数实现文件下载时直接提示保存
2009/11/12 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
thinkPHP简单遍历数组方法分析
2016/05/16 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
2020/08/17 PHP
javascript 拖动表格行实现代码
2011/05/05 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
JS二维数组的定义说明
2014/03/03 Javascript
JS下载文件|无刷新下载文件示例代码
2014/04/17 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
react.js使用webpack搭配环境的入门教程
2017/08/14 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
Vue组件开发之LeanCloud带图形校验码的短信发送功能
2017/11/07 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
Python之os操作方法(详解)
2017/06/15 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
django云端留言板实例详解
2019/07/22 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
机电系毕业生求职信
2014/07/11 职场文书
2015年教师节活动总结
2015/03/20 职场文书