英寸和厘米的交互python_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= 80figsize=(12,6) , dpi=100figsize=( 8,4) , dpi=150figsize=( 6,3) , dpi=200etc.
但这些不同的组合,有什么区别呢?这取决于图中元素的大小。
线条,标记,文本等大多数元素都有以磅为单位的大小。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 像素。因此,更大的dpi就像放大镜一样。所有元素都通过镜头的放大倍数进行缩放。通过表 1 中的图形 1 3 5 的对比,可以看出这一点。
综上:
图形尺寸(figsize)确定图形的大小(以英寸为单位)。 这给出了轴(和其他元素)在图中的空间量。 较大的图形尺寸将允许显示更长的文本,更多的轴或更多的标记标签(表1中图形3与图形4,图形5与图形6的对比可看出,像素尺寸相同时,图形尺寸越大,所能容纳的内容越多)。
dpi 确定了图形每英寸包含的像素数,图形尺寸相同的情况下, dpi 越高,则图像的清晰度越高(表1中 1,3,5 对比可看出)
表1
1
2
3
4
5
6
易混乱的点
由表 1 中的 1,3,5 对比可看出,明明是相同尺寸的图片,可显示出来大小却差异极大,是不是说明 figsize 的设置根本没用?
这主要是因为图形在屏幕中的显示是以像表为基准的,像素点越高,尺寸看起来也就越大。表 1 中的 1,3,5,其 尺寸相同, dpi 越大,则像素也就越大,因此图形整个看起来也就越大。
为了验证这个问题,可以将上述 6 个图形插入到 word 中,如下图所示。从图中可看出,figsize 相同的图形,其大小相同,只不过 dpi 越高,图像越清晰。也就是说 figsize 的设置可以在打印或者排版时发挥作用。
最后,附上画图的相关代码供参考:
#!/usr/bin/env python#-*- coding: utf-8 -*-#@Time : 2019/1/27 14:47#@Author : 木子识时务#@Site :#@File : 图形尺寸设置#@Software: PyCharm
importmatplotlib.pyplot as pltdefplot(fs, dpi_set):
plt.figure(figsize=fs, dpi=dpi_set)
plt.title("size:{}, dpi:{}".format(fs, dpi))
plt.plot([0,1, 2, 3], [3, 4, 2, 5])
plt.savefig(str(fs)+ "-" + str(dpi_set) + ".png")if __name__ == "__main__":
figsize= (2, 2)for i in range(1, 4):
plot(figsize, i*72)for i in [2, 4, 6]:
plot((i, i),72)
画图程序
英寸和厘米的交互python_matplotlib 设置图形大小时 figsize 与 dpi 的关系相关推荐
- matplotlib 设置图形大小时 figsize 与 dpi 的关系
matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图 ...
- python中figsize什么意思_matplotlib 设置图形大小时 figsize 与 dpi 的关系
matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图 ...
- python中figsize什么意思_python中figsize什么意思_matplotlib 设置图形大小时 figsize 与 dpi 的关系...
matplotlib 中设置图形大小的语句如下: fig = plt.figure(figsize=(a, b), dpi=dpi) 其中: figsize 设置图形的大小,a 为图形的宽, b 为图 ...
- 英寸和厘米的交互python_Python课 #04号作业
前言:这次的作业有六道,难度均有所上升.敲代码过程中遇到很多错误,准备总结出来作为一份错误经验帖单独列出来,敬请期待! 为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好 ...
- 学计算机电脑屏幕小可以吗,电脑屏幕大小怎么调好 设置桌面大小时要注意哪些要点...
电脑屏幕要在合适的时候看起来才会比较舒服的,有很多人都找适合自己电脑屏幕大小设置,至于图片或大或小,这个要根据自己的需求来设置.下面小编就来给大家介绍一下电脑屏幕大小怎么调好及设置桌面大小时要注意哪些 ...
- 英寸和厘米的交互python_Python的新手-尝试将厘米编码为英寸,反之亦然
这个问题已经在这里有了答案: > How to test multiple variables against a value? ...
- html字体高度怎么调,当在CSS中设置字体大小时,字母的真实高度是多少?
关于这个问题的一些背景 在金属上创建信件时,em指的是每个块的尺寸,该字母将被刻上,这个大小由资本M确定,因为它通常占用最多的空间. 现在有一天,字体开发者在计算机上创建自己的字体,而没有物理金属的限 ...
- python plot 图像大小_设置matplotlib图像的figsize和dpi
我们可以通过两个参数来控制matplotlib图像的大小,在创建figure对象的时候,有figsize和dpi. figsize是一个tuple,用来指定width和height的inch: dpi ...
- 英寸和厘米的交互(升级版)----Python
描述 虽然我国已经很好的普及了国际单位制,而在现实生活中,仍然有很多地方采用了英制单位来描述,例如,我们买一台65寸的电视,这个地方的寸指的就是英寸,或者拍一张2寸的照片,用的是相同的英制单位. ...
最新文章
- 50年前的登月程序和程序员有多硬核?
- mysql 2003错误 10055_MYSQL无法连接 提示10055错误的解决方法
- ython二十五: 解压序列
- mysql第五章事务_mysql 第五章 备份恢复
- 博客积分规则 博客等级
- easyui select ajax,easyui的combobox根据后台数据实现自动输入提示功能
- Codeforces Round #703 (Div. 2) 题解
- latex 符号_sympy: 符号运算-1
- 键盘鼠标共享效率工具-Synergy
- 惯性导航算法_自动驾驶关键技术报告:惯性导航和背后的芯片大战
- 如何去学好JS的8条小建议
- 解压tar.xz文件和tar.gz文件
- 厄瓜多尔最大银行遭攻击,服务被迫中断
- 共享变量在线程间的可见性
- css字体图标的使用
- python爬虫实现大麦抢票_春运了,Python大神分享爬取12306车票信息的例子,附抢票源码...
- kali:hydra破解ssh密码
- 网站优化中SEO关键词密度到底多少属于合理?
- swiper iphone8 plus 点击变成了滑动
- 贝尔数C语言,bzoj 3501 PA2008 Cliquers Strike Back——贝尔数