在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的布局和大小实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解Matplotlib绘图之属性设置

    关于Python数据分析在数学建模中的更多相关应用:Python数据分析在数学建模中的应用汇总(持续更新中!) (1).导入库 import matplotlib.pyplot as plt import numpy (2).figure对象和subplot简单运用 #figure对象 fig = plt.figure() #figure是图象对象 ax1 = fig.add_subplot(2,2,1) #创建一个2*2的子图,放在第一个位置 ax2 = fig.add_subplot(2,2

  • python Matplotlib画图之调整字体大小的示例

    一张字体调整好的示例图: 字体大小就是 fontsize 参数 import matplotlib.pyplot as plt # 代码中的"..."代表省略的其他参数 ax = plt.subplot(111) # 设置刻度字体大小 plt.xticks(fontsize=20) plt.yticks(fontsize=20) # 设置坐标标签字体大小 ax.xlabel(..., fontsize=20) ax.ylabel(..., fontsize=20) # 设置图例字体大小

  • matplotlib 输出保存指定尺寸的图片方法

    其实这个问题来源于笔者的横坐标太多了,然后生成的那个figure框框太小,导致坐标重叠,而输出的图片是需要批量保存的,总不能每次都拉长截图吧 所以在plot绘图之前加上了一句 plt.figure(figsize=(10, 5)) 图就变了hhh 然后偶然间有发现了能调节子图也就是subplot性质的一个api蛮有趣的,分享下 plt.subplots_adjust(left=0.09,right=1,wspace=0.25,hspace=0.25,bottom=0.13,top=0.91) 然

  • 在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*d

  • matplotlib中plt.hist()参数解释及应用实例

    目录 一.plt.hist()参数详解 二.plt.hist()简单应用 三.plt.bar()综合应用 附官方参数解释 一.plt.hist()参数详解 简介:plt.hist():直方图,一种特殊的柱状图.将统计值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值.直方图也可以被归一化以显示“相对”频率. 然后,它显示了属于几个类别中的每个类别的占比,其高度总和等于1. import matplotlib as mpl import matplotlib.pyplot a

  • HTML中使背景图片自适应浏览器大小实例详解

    HTML中使背景图片自适应浏览器大小实例详解 解决办法: 1.图片不够大,又background属性不能拉伸图片: 2.只能用个div,把其z-index值设为负,并使这个div大小为整个body大小,在div里用<img> : 3.body的background属性去掉,要不然会被遮住. <html> <body> <div id="Layer1" style="position:absolute; left:0px; top:0p

  • 在keras 中获取张量 tensor 的维度大小实例

    在进行keras 网络计算时,有时候需要获取输入张量的维度来定义自己的层.但是由于keras是一个封闭的接口.因此在调用由于是张量不能直接用numpy 里的A.shape().这样的形式来获取.这里需要调用一下keras 作为后端的方式来获取.当我们想要操作时第一时间就想到直接用 shape ()函数.其实keras 中真的有shape()这个函数. shape(x)返回一个张量的符号shape,符号shape的意思是返回值本身也是一个tensor, 示例: >>> from keras

  • Python中matplotlib如何改变画图的字体

    事情是这样的:平时我汇报或者写论文需要画图,都会喜欢用Python的 matplotlib 和 seaborn 把数据

  • Matplotlib中rcParams使用方法

    主要作用为指定图片像素: matplotlib.rcParams['figure.figsize']#图片像素 matplotlib.rcParams['savefig.dpi']#分辨率 plt.savefig('plot123_2.png', dpi=200)#指定分辨率 %matplotlib inline import matplotlib # 注意这个也要import一次 import matplotlib.pyplot as plt from IPython.core.pylabto

  • Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法

    本文实例讲述了Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法.分享给大家供大家参考.具体如下: 看看下面的例子和效果吧 # -*- coding: utf-8 -*- from matplotlib.widgets import MultiCursor from pylab import figure, show, np t = np.arange(0.0, 2.0, 0.01) s1 = np.sin(2*np.pi*t) s2 = np.sin(4*np.pi*t

  • android 实现APP中改变头像图片的实例代码

    具体代码如下所示: package com.example.studyapplication.fragment; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory

  • 使用matplotlib中scatter方法画散点图

    本文实例为大家分享了用matplotlib中scatter方法画散点图的具体代码,供大家参考,具体内容如下 1.最简单的绘制方式 绘制散点图是数据分析过程中的常见需求.python中最有名的画图工具是matplotlib,matplotlib中的scatter方法可以方便实现画散点图的需求.下面我们来绘制一个最简单的散点图. 数据格式如下: 0   746403 1   1263043 2   982360 3   1202602 ... 其中第一列为X坐标,第二列为Y坐标.下面我们来画图. #

  • 对python中Matplotlib的坐标轴的坐标区间的设定实例讲解

    如下所示: <span style="font-family: Arial, Helvetica, sans-serif;">>>> import numpy as np</span> >>> import matplotlib.pyplot as plt >>> x=np.arange(-5,5,0.01) >>> y=x**3 >>> plt.axis([-6,6,-1

随机推荐