matplotlib之pyplot模块——创建图形(figure())

如何在 Python 中使用 Matplotlib 创建一个空的 Figure? Matplotlib是一个功能强大的Python库,用于数据可视化和创建2D绘图。它提供了用于创建静态、动画和交互式图的各种工具,包括线图、散点图、条形图、直方图等。Matplotlib 是高度可定制的,允许用户调整颜色、字体和其他视觉元素来创建高质量的可视化效果。它广泛用于数据科学、工程和科学研究,被认为是 Python 最受欢迎的数据可视化库之一。Matplotlib是开源的,并且正在积极开发,拥有庞大的用户和贡献者社区,他们提供支持和维护库。 阅读详情
AI摘要

本文详细介绍了 matplotlib 中 figure 函数的功能及参数设置方法,并通过实例展示了如何利用这些参数进行图形标识符管理、图形大小单位转换及使用自定义 Figure 子类。

当前有效matplotlib版本为:3.4.1。

figure函数概述

在pyplot模块中,figure函数用于创建新的图形,或激活已存在的图形。

函数的签名为matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, clear=False, **kwargs)

函数的参数如下:

  • num:图形的唯一标识符。可选参数。整数、字符串或Figure对象。可选参数。默认值为None。
    当已经存在使用该标识符的图形时,使用该标识符的图形将被激活并返回。对于标识符而言,整数对应Figure.number属性,字符串对应图形的标签。
    如果没有对应标识符的图形时,新的图形将会创建。如果参数值为整数则用于Figure.number属性,否则将会自动生成一个整数值(从1开始,每新建一个图像递增1)。如果参数值为字符串,图形标签和窗口标题将设为该值。
  • figsize:图形的尺寸(宽度,高度),默认单位为英寸。可选参数。浮点数二元组。默认值为rcParams["figure.figsize"],即[6.4, 4.8]。
  • dpi:图形的分辨率,即每英寸的像素数。可选参数。浮点数。默认值为rcParams["figure.dpi"],即100。Jupyter Notebook默认值为72,另外由于bbox_inches='tight',因此Jupyter Notebook可能会剪切图形,导致图形的实际大小不可预测。
  • facecolor:图形的背景色。可选参数。颜色值。默认值为rcParams["figure.facecolor"],即'white'。
  • edgecolor:图形的边框色。可选参数。颜色值。默认值为rcParams["figure.edgecolor"],即'white'。
  • frameon:是否绘制图形。可选参数。布尔值。默认值为True。
  • FigureClasss:生成图形时选用的自定义Figure。可选参数。Figure类的子类。默认值为<class 'matplotlib.figure.Figure'>。
  • clear:当图形存在时是否清除原有图形。可选参数。布尔值,值为True时,当图形存在时,原有图形将被清除。默认值为False。
  • tight_layout:是否使用紧凑布局。布尔值或字典。默认值为rcParams["figure.autolayout"],即False。
    如果值为False,则使用subplotpars参数调整子图配置参数。如果值为True,则调用tight_layout函数。如果值为字典,字典键即tight_layout函数的参数。
  • subplotpars:子图参数。SubplotParams对象,如果为None,则使用子图的默认参数rcParams["figure.subplot.*"]。
  • constrained_layout: 是否采用约束布局。布尔值或字典。默认值为rcParams["figure.constrained_layout.use"],即False。
    如果值为True,则使用约束布局(constrained layout)调整绘图元素的位置。该参数类似于tight_layout。
  • **kwargs :Figure对象的其他属性。

返回值为Figure对象

figure函数相关函数

  • get_fignums函数:作用为返回已存在的图形编号列表。函数签名为matplotlib.pyplot.get_fignums(),返回值为整数列表。
    源码为:
def get_fignums():
    """Return a list of existing figure numbers."""
    return sorted(_pylab_helpers.Gcf.figs)
  • get_figlabels函数:作用为返回已存在的图形标签列表。函数签名为matplotlib.pyplot.get_figlabels(),返回值为字符串列表。
    源码为:
def get_figlabels():
    """Return a list of existing figure labels."""
    managers = _pylab_helpers.Gcf.get_all_fig_managers()
    managers.sort(key=lambda m: m.num)
    return [m.canvas.figure.get_label() for m in managers]
  • get_fignum_exists函数:作用为判断对应编号的图形是否存在。函数签名为matplotlib.pyplot.fignum_exists(num),返回值为布尔值。
    源码为:
def fignum_exists(num):
    """Return whether the figure with the given id exists."""
    return _pylab_helpers.Gcf.has_fignum(num) or num in get_figlabels()

案例:图形标识符演示

import matplotlib.pyplot as plt

# 获取默认figure对象
fig1 = plt.gcf()
# 生成新的figure对象
fig2 = plt.figure()
# 生成新的figure对象,标识符为1
fig3 = plt.figure(num=1)
# 生成新的figure对象,标识符为first
fig4 = plt.figure(num='first')
# 默认figure对象的编号为1
# 新figure对象的编号为2
# 由于num=1的figure对象已存在,所以未新建figure对象
# 新建figure对象的编号为3
print(fig1.number, fig2.number, fig3.number, fig4.number)
# 由于num=1的figure对象已存在,所以未新建figure对象,fig1==fig3
print(fig1 == fig3)
# 获取当前已存在的figure对象的编号列表
print(plt.get_fignums())
# 检测编号为4的图形是否存在
print(plt.fignum_exists(4))
# 获取当前已存在的figure对象的标签列表
print(plt.get_figlabels())

输出:

1 2 1 3
True
[1, 2, 3]
False
['', '', 'first']

案例:图形大小单位转换

import matplotlib.pyplot as plt

text_kwargs = dict(ha='center', va='center', fontsize=28, color='C1')
# 默认单位为英寸
plt.figure(figsize=(7,5))
plt.text(0.5, 0.5, '7 inches x 5 inches', **text_kwargs)
# 英寸、厘米单位转换
cm = 1/2.54  
plt.figure(figsize=(15*cm, 5*cm))
plt.text(0.5, 0.5, '15cm x 5cm', **text_kwargs)
# 英寸、像素单位转换
px = 1/plt.rcParams['figure.dpi'] 
plt.figure(figsize=(600*px, 200*px))
plt.text(0.5, 0.5, '600px x 200px', **text_kwargs)
plt.show()

在这里插入图片描述在这里插入图片描述在这里插入图片描述

案例:使用自定Figure子类

import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# 自定义Figure子类
class WatermarkFigure(Figure):

    def __init__(self, *args, watermark=None, **kwargs):
        super().__init__(*args, **kwargs)

        if watermark is not None:
            self.text(0.5, 0.5, watermark,
                      ha='center', va='center', rotation=30,
                      fontsize=40, color='gray', alpha=0.5)


plt.figure(FigureClass=WatermarkFigure, watermark='mighty13')
plt.plot([1,1])

plt.show()

在这里插入图片描述

python matplotlib 入门系列二:figure 闲话不说,直接看代码: import matplotlib.pyplot as plt import numpy as np x=np.linspace(-3,3,50)#在[-1,1]之间产生50个均匀的点 y1=2*x+1 y2=x**2 plt.figure()#第一个窗口 plt.plot(x,y1) plt.figure()#第二个窗口 plt.plot(x,y2) pl 阅读详情

相关推荐

Python--Matplotlib库与数据可视化③--Figures、Axes对象与多图绘制

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。需要这份系统化学习资料的朋友,可以戳这里获取。

碧海朝天素 654

pyplot.figure() 参数使用详解

figure(plt.Figure 类的一个实例)可以被看成是 一个能够容纳各种坐标轴、图形、文字和标签的容器。就像你在图中看到的那样。--通常用变量 fig 表示一个图形实例;axes(plt.Axes 类的一个实例)是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。--通常用变量 ax 表示一个坐标轴实...

c_lanxiaofang的博客 4986

别再对着数据手册发愁了!用HFSS 2023 R2搞定ESP32-C3板载天线的阻抗匹配

本文详细介绍了如何利用HFSS 2023 R2进行ESP32-C3板载天线的阻抗匹配优化,解决实际PCB设计中常见的性能偏差问题。通过智能模型导入、科学参数扫描和量化优化流程,显著提升天线性能,适用于WIFI和蓝牙应用场景。

weixin_42523543的博客 447

Matplotlib库学习之pyplot.figure()函数

是 Matplotlib 的pyplot模块中的一个函数,用于创建一个新的图形(figure)。在 Matplotlib 中,图形是绘图元素的容器,可以包含多个坐标轴(axes)。这个函数非常基础,因为它为绘图提供了一个空白的画布。# 创建一个大小为8x6英寸,背景颜色为浅灰色的图形# 绘制一些图形元素# 显示图形plt.show()输出:一个大小为8x6英寸,背景颜色为浅灰色的窗口,其中包含一条从(1,3)到(3,1)的下降直线。

qq_46396470的博客 729

短视频团队架构&工作流程---2025.3.30

1、负责短视频日常内容分发上线,包括视频头图、标题、简介、推荐位及部分内容元数据的日常导入、审核、上线、下线,并提供各品类短视频的内容上线计划表。(20)运营:视频推送后,实时跟进视频数据,定期统计分析数据报表,根据数据表现 找到问题,并发送给各个小组的负责人,对下一期视频内容进行调整。(4)运营:收到成片,设计视频头图、标题、简介、推荐位等,分发到各个平台,统计分析视频的数据,对各个平台的视频进行管理、用户互动等。1、负责影视、戏剧、广告、专题片等的策划、组稿选题、材料收集、内容策划。

超越神明 2151

【STM32项目】老人健康跌倒检测系统实现(附教程PCB资料)

功能概述 跌倒检测 倾倒告警,人体角度倾斜至阈值触发蜂鸣报警 异常运动,加速度超过正常行动阈值时触发报警 心率监测 实时检测心率数据 血氧监测 实时检测采集血氧 血压测量 血压在线测量 红外体温 非接触体温采集方案 接触式体温采集方案 实时定位 中科微GPSGT-U12双频GPS北斗 GLONASS IRNSS定位系统 NEMA数据解析 可扩展高精度定位方案厘米级 屏幕显示 数据采集显示 告警阈值设置 语音提示 1欢迎使用老人智慧监测系统

洋洋的博客 1万+

【matplotlib】 图解pyplot figure、subplot、axes、axis的区别

图解matplotlib.pyplot figure、subplot、axes、axis的区别 基本概念 用matplotlib.pyplot绘图需要知道以下几个概念: 画图板/画布:这是一个基础载体,类似实际的画图板,用pyplot.figure()函数创建,程序中允许创建多个画图板,具体操作的画板遵循就近原则(操作是在最近一次调用的画图板上实现),缺省条件下内部默认调用pyplot.fi...

zhuhua造轮子的博客 1万+

华为交换机NAC配置避坑指南:搞定打印机、摄像头等哑终端接入(含MAC旁路认证)

本文详细解析华为交换机NAC配置中的MAC旁路认证方案,特别针对打印机、摄像头等哑终端接入问题提供避坑指南。通过对比传统模式与统一模式的配置差异,结合实际案例和典型错误排查,帮助网络工程师高效解决802.1X认证环境下的哑终端接入难题。

weixin_30338497的博客 441

matplotlib(一)——pyplot使用简介

pyplot介绍matplotlib.pyplot是一个有命令风格的函数集合,它看起来和MATLAB很相似。每一个pyplot函数都使一副图像做出些许改变,例如创建一幅图,在图中创建一个绘图区域,在绘图区域中添加一条线等等。在matplotlib.pyplot中,各种状态通过函数调用保存起来,以便于可以随时跟踪像当前图像和绘图区域这样的东西。绘图函数是直接作用于当前axes(matplotlib中的

CUG_UESTC的博客 15万+

包成功安装tiny-cuda-nn,记录安装过程中的问题解决,附带pytorch3d安装【踩坑指南】

该包可以显著提高NeRF训练速度,是和NeRFstudio等框架中,必须使用的。本文提供tiny-cuda-nn可以安装的完整包的下载链接,可以直接上传到项目中安装。附带笔者遇到的问题的解决方案。

zik的博客 7029

从一个 ASIN 看透亚马逊:商品模型背后的增长飞轮

在亚马逊电商体系中,每件商品背后都有一套严密的商品建模逻辑。本篇文章以“ASIN 的一生”为线索,系统拆解了亚马逊的商品模型:从飞轮战略出发,剖析 SDP(Single Detail Page)机制如何实现标准化展示;再到 ASIN 编码、父子变体结构与 Offer 分离模型,逐层解析商品信息如何被建构、聚合与呈现。通过图解与案例,文章帮助读者理解商品建品流程、同款聚合原则、价格控制机制等核心逻辑,避免常见运营误区,是一份面向运营、产品、技术人员的实用参考指南。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 13万+

Matplotlib(Pyplot模块)

参数:rect:位置和尺寸,格式通常为 [leftbottomwidthheight],值在0到1之间,表示相对于图形尺寸的比例。left:距figure左边界的比例 bottom:底部边界的比例width:宽 height:高**kwargs传递给Axes构造函数的额外参数。返回值:Axes对象。

2503_92739857的博客 1625

1分钟了解LangChain是什么?

是一个基于大型语言模型(LLM)开发应用程序的框架, 它旨在简化语言模型应用的开发流程,特别是在构建对话系统和其他基于语言的AI解决方案时.目标是将复杂的语言模型技术转化为可通过简单API调用实现的功能,从而使开发者能够更加专注于创造性的解决方案设计。高效地解决了开发大语言模型应用的痛点问题。Langchain 最主要的特色是可以将 LLM 应用研发过程中的交互 Prompt、LLM 模型调用、语言模型与环境互动的自适应等方式融为一体。

gorgor在码农 2630

matplotlib.pyplot.figure()结构及用法详解

matplotlib.pyplot.figure官方文档 源代码 matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>, cle...

漫步量化 9202

基于SpringBoot+SpringCloud+Vue前后端分离项目实战 --开篇

如何高效学习Java? 毕业设计项目应该怎么做?入门实战项目应该怎么做? 做Java开发都应该学习哪些框架技术? 我想来跟你聊聊为什么要学习此专栏?我们经常说,看一个事儿千万不要直接陷入细节里,你应该先鸟瞰其全貌,这样能够帮助你从高维度理解问题。同样,当你迷茫想努力没有方向时,最事半功倍的方法是:找人带你! 因为过来人,更懂得如何学、如何做、如何少走弯路! 那今天就给大家带来一门专栏课程,由 天罡gg 和 经海路大白狗 两位实力大牛合力打造的一款专栏,可以让你从0到1快速拥有企业级规范的项目实战经验!

天罡gg的专栏 2万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

matplotlib之pyplot模块——添加图形级图例、文本、轴标签(figlegend()、figtext()、Figure.supxlabel()、Figure.supylabel())

当前有效matplotlib版本为:3.4.1。 概述 如果不手动创建子图,matplotlib会默认自动创建一个子图,前面介绍的title()、legend()、xlabel()、ylabel()等函数的调用对象其实都是子图对象,也只对子图生效。如果想在整个图形中添加标题、图例、轴标签该如何操作呢? matplotlib.pyplot模块提供了suptitle()、figlegend()、figtext()等函数用于添加图形级的标题、图例、文本。 figure对象增加了supxlabel()方法和supy

mighty13的专栏 3万+

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【Python_Matplotlib学习笔记(一)】pyplot模块的基本用法

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形(来自:百度百科)。pyplot 模块是 Matplotlib 模块提供的快速绘图模块,它模仿了 MATLAB 的部分功能。

禾戊之昂的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python----数据分析(Matplotlib五:pyplot的其他函数,Figure的其他函数, GridSpec)

在Matplotlib中,pyplot提供了许多其他函数,如`plt.title()`(设置标题)、`plt.xlabel()`和`plt.ylabel()`(设置坐标轴标签)、`plt.legend()`(添加图例),这些函数增强了绘图的表达力。此外,Figure对象的其他函数,如`set_size_inches()`(设置图形尺寸)和`tight_layout()`(自动调整子图间距),也极大方便了图形的管理。GridSpec是一个灵活的布局工具,允许用户更精确地控制子图在Figure中的位置和大小

weixin_64110589的博客 1904

matplotlib.pyplot子库(一):plot()、figure

一:认识pyplot pyplot能通过的简单的函数制作出可视化的图,图中含有很多子元素,包括画布(figure)、轴(axes)、线(line)、图例(legend)、标题、标度……,然后在掌握这些函数的基础上,按照自己的构思做出自己的可视化作品就算是达到了初步的目的。 官方示例图 #导入相关包,进行设置 import matplotlib.pyplot a...

wjyjiayou的博客 1168

Matplotlib:绘图结构详解,Artist、Figure、Axes和Axis的联系与区别

目录 0. 引言 1. API层次 2. 绘图结构:Figure,Axes,Axis,Artist - Figure: - Axes: - Axis: - Artist: - Figure中的artist元素 3. Coding Style 4. 参考文献 0. 引言 matplotlib是用Python语言实现的一个类似MATLAB的绘图工具,本文主要介绍matplotlib.pyplot的基本API层次、绘图结构及用法。1. 在matplotlib中最重要的基类A...

u010021014的博客 7676

matplotlib.pyplot.axis()与matplotlib.pyplot.axes()结构及用法

matplotlib.pyplot.axis() 官方文档 matplotlib.pyplot.axis(*v, **kwargs) 获得或设定axis内容的便利方法。 常用参数: xmin, ymin, xmax, ymax : float, optional The axis limits to be set. Either none or all of the limits mus...

漫步量化 9011

Matplotlib.pyplot 常用方法(一)

简介matplotlib是python上的一个2D绘图库,它可以在夸平台上边出很多高质量的图像。综旨就是让简单的事变得更简单,让复杂的事变得可能。我们可以用matplotlib生成 绘图、直方图、功率谱、柱状图、误差图、散点图等 。matplotlib.pyplot:提供一个类似matlab的绘图框架。pylab将pyplot与numpy合并为一个命名空间。这对于交互式工作很方便,但是对于编程来说,

sinat_34022298的博客 2万+

【Python】matplotlib.pyplot 详解与使用(内有大量例子)【持续更新ing】

本文是根据版本撰写的,若出现有文章与实际有出入的情况请查看版本是否一致。我们使用需要使用以下的语句来导入它。

FuckerGod的博客 2801

matplotlib图像(figure)

本文详细介绍了matplotlib中figure的操作,介绍了如何绘制各种子图,以及坐标设置等内容

Jay_Franklin的博客 1798

Matplotlib数据可视化实操--基础知识、使用PyLab模块和Pyplot模块基础绘图方式

对Matplotlib数据可视化的理解并使用matplotlib下的pyplot模块和单独的模块pylab绘制基本的图例

tore007的博客 2115

pyplot画图_Pyplot一个Figure图的构成要素

接上文:Matlab一个Figure图的构成要素Matplotlib是一个Python 2D绘图库,其中最常用的就是pyplot模块。使用pyplot模块可以快速地创建Figure,一个Figure图的构成要素如下图所示,包括标题、图例、坐标轴、数据图形等。一个Figure图的构成要素对于简单的绘图,pyplot模块提供了类似matlab的接口:figure:图像的窗口,也就是画图区域;axes:...

weixin_39519554的博客 681
上一篇: 利用matplotlib实现颜色视觉映射的分段多色折线图(模拟ECharts Beijing AQI案例)
下一篇: matplotlib之pyplot模块——添加图形级图例、文本、轴标签(figlegend()、figtext()、Figure.supxlabel()、Figure.supylabel())
mighty13
博客等级 码龄23年 728粉丝 438原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值