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

 更新时间:2020年04月23日 10:54:06   作者:cdqn10086  
这篇文章主要介绍了在matplotlib中改变figure的布局和大小实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

以下来自Stack Overflow

从上面我们可以很清晰的看出应该如何使用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中numpy数组的维度增减方法详解

    Python中numpy数组的维度增减方法详解

    这篇文章主要介绍了Python中numpy数组的维度增减方法详解,在操作数组情况下,需要按照某个轴将不同数组的维度对齐,这时候需要为数组添加维度(特别是将二维数组变成高维张量的情况下),numpy提供了expand_dims()函数来为数组增加维度,需要的朋友可以参考下
    2023-09-09
  • Keras搭建Mask R-CNN实例分割平台实现源码

    Keras搭建Mask R-CNN实例分割平台实现源码

    这篇文章主要为大家介绍了Keras搭建Mask R-CNN实例分割平台实现源码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 详解python中字典的循环遍历的两种方式

    详解python中字典的循环遍历的两种方式

    本篇文章主要介绍了python中字典的循环遍历的两种方式 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • tensorflow-gpu安装的常见问题及解决方案

    tensorflow-gpu安装的常见问题及解决方案

    这篇文章主要介绍了tensorflow-gpu安装的常见问题及解决方案,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧,需要的朋友可以参考下
    2020-01-01
  • python使用期物处理并发教程

    python使用期物处理并发教程

    这篇文章主要为大家介绍了python使用期物处理并发教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 关于Python Socket编程的要点详解

    关于Python Socket编程的要点详解

    Socket是网络编程的一个抽象概念,通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可,这篇文章主要给大家介绍了关于Python Socket编程的相关资料,需要的朋友可以参考下
    2021-08-08
  • Python中*args和**kwargs的区别详解

    Python中*args和**kwargs的区别详解

    这篇文章主要介绍了Python中*args和**kwargs的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 详解如何使用Python实现复制粘贴的功能

    详解如何使用Python实现复制粘贴的功能

    pandas 里面有一个 pd.read_clipboard 函数,可以根据你复制的内容生成DataFrame。本文就利用这个函数实现复制粘贴的功能,感兴趣的可以了解一下
    2023-01-01
  • python实现读取命令行参数的方法

    python实现读取命令行参数的方法

    这篇文章主要介绍了python实现读取命令行参数的方法,涉及Python中sys模块的相关使用技巧,需要的朋友可以参考下
    2015-05-05
  • Python的基础语法和输入输出函数你都了解吗

    Python的基础语法和输入输出函数你都了解吗

    这篇文章主要为大家详细介绍了Python的基础语法和输入输出函数,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论