Python库matplotlib之二
Python库matplotlib之二
- figure
- Axes
- subplot
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,int 或 str 或 figure,是可选参数。是figure的唯一标识符。
如果具有该标识符的figure已存在,则该figure被激活,并返回。整数指的是Figure.number属性,字符串指的是figure标签。
如果没有给出带有标识符的figure或num,则会创建一个新figure,使其处于活动状态,并返回。如果 num 是 int,则它将用于Figure.number 属性,否则,将使用自动生成的整数值(从 1 开始,并针对每个新图形递增)。如果 num 是字符串,则figure标签和窗口标题将设置为此值。 -
figsize(float, float),默认值为rcParams[“figure.figsize”] (默认值:[6.4, 4.8])
宽度、高度(以英寸为单位)。 -
dpi,float,默认值为rcParams[“figure.dpi”](默认:100.0)
figure的分辨率,以每英寸点数为单位。 -
facecolor,颜色,默认值为rcParams[“figure.facecolor”](默认:‘white’)
背景颜色。 -
edgecolor,颜色,默认值为rcParams[“figure.edgecolor”](默认:‘white’)
边框颜色。 -
frameon,变量类型为bool,默认值为True。如果为 False,则禁止绘制figure框架。
-
FigureClass,figure的子类。可以选择使用自定义Figure 实例。
-
clear,变量类型是bool,默认值为False。如果True,并且该figure已存在,则将其清除。
-
strict_layout,变量类型是bool 或 dict,默认值:rcParams[“figure.autolayout”] (默认值:False)
如果为False,则使用 subplotpars。如果为 True,则使用带有默认填充的tight_layout 调整subplot参数。当提供包含关键字w_pad、h_pad 和 rect 的字典时,默认的ight_layout 填充将被盖写。 -
constrained_layout,变量类型是bool,默认值:rcParams[“figure.constrained_layout.use”](默认值:False)
如果为 True,则使用约束布局,调整plot元素的位置。与tight_layout类似,但设计得更加灵活。 -
**kwargs可选。
matplotlib.pyplot.figure 实现以下类:
- Figure,顶级Artist,拥有所有plot元素。许多方法都在FigureBase 中实现。
- SubFigure,在一个figure内的逻辑figure,通常使用Figure.add_subfigure 或Figure.subfigures 方法添加到figure。
- SubplotParams,控制subplots之间的默认间距。
是所有plot元素的顶级容器。
Figure实例通过callbacks属性支持回调,callbacks是一个CallbackRegistry 实例。可以连接的事件是“dpi_changed”,并且将使用 func(fig) 调用回调,其中Fig 是Figure 实例。
下面例子使用add_axes。
import matplotlib.pyplot as plt if __name__ == "__main__":left = 0.05bottom = 0.05width = 0.90height = 0.80rect = left, bottom, width, heightfig = plt.figure()fig.add_axes(rect)fig.add_axes(rect, frameon=True, facecolor='g')fig.add_axes(rect, polar=True)ax = fig.add_axes(rect, projection='polar')plt.show()

Axes
词法:matplotlib.pyplot.axes(arg=None, **kwargs)
-
arg,None 或 4 元组
该函数的确切行为取决于类型:
无:使用 subplot(**kwargs) 添加新的全窗口轴。
浮点数 4 元组 rect = [left, bottom, width, height]。使用当前figure上的 add_axes 添加一个新轴,其尺寸为标准化 (0, 1) 单位的矩形。 -
projection,{None, ‘aitoff’, ‘hammer’, ‘lambert’, ‘mollweide’, ‘polar’, ‘rectilinear’, str}, 是可选参数。
轴的投影类型。 str 是自定义投影的名称。默认值None会产生“直线”投影。 -
polar,变量类型是bool,默认值为False
如果为True,则等价于projection=‘polar’。 -
sharex、shareyAxes,可选
与 sharex 和/或 sharey 共享 x 或 y 轴。该轴将具有与共享轴相同的限制、刻度和比例。 -
label,变量类型是str。返回轴的标签。
一个Axes对象封装在一个图中的单个plot/sub-plot的所有元素。
它包含大部分plot/sub-plot的元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。
与图形中的所有可见元素一样,Axes是Artist 子类。
Axes实例通过一个回调属性支持回调,回调是一个CallbackRegistry 实例。可以连接的事件是“xlim_changed”和“ylim_changed”,回调使用 func(ax) 调用回调函数,其中ax是 Axes 实例。
下面展示一些 内联代码片。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Buttonfreqs = np.arange(0.2, 2, 0.3)fig, ax = plt.subplots()
ax.set_ylabel('Frequency', color='#00ff00')
ax.set_xlabel('Time', color='#0000ff')
ax.set_facecolor('#eafff5')
plt.subplots_adjust(bottom=0.2)
t = np.arange(0.0, 10.0, 0.01)
s = np.sin(2*np.pi*freqs[0]*t)
l, = plt.plot(t, s, lw=2)class Index:ind = 0def reset(self, event):self.ind = 0i = self.ind % len(freqs)ydata = np.sin(2*np.pi*freqs[i]*t)l.set_ydata(ydata)l.set_color("#0000FF")plt.draw()def next(self, event):self.ind += 1i = self.ind % len(freqs)ydata = np.sin(2*np.pi*freqs[i]*t)l.set_ydata(ydata)l.set_color("#00FF00")plt.draw()def prev(self, event):self.ind -= 1i = self.ind % len(freqs)ydata = np.sin(2*np.pi*freqs[i]*t)l.set_ydata(ydata)l.set_color("#FF0000")plt.draw()if __name__ == "__main__":callback = Index()axprev = plt.axes([0.7, 0.05, 0.1, 0.075])axnext = plt.axes([0.81, 0.05, 0.1, 0.075])ax_reset = plt.axes([0.59, 0.05, 0.1, 0.075])bnext = Button(axnext, 'Next')bnext.on_clicked(callback.next)bprev = Button(axprev, 'Previous')bprev.on_clicked(callback.prev)b_reset = Button(ax_reset, 'Reset')b_reset.on_clicked(callback.reset)plt.show()

subplot
matplotlib.pyplot.subplot(*args, **kwargs)
将一个Axes添加到当前图形,或获取现有的轴。
import matplotlib.pyplot as pltdef plot_line():names = ['10-20', '21-40', '41-70']values = [15, 60, 25]plt.figure(figsize=(9, 3))plt.subplot(131)plt.bar(names, values)plt.subplot(132)plt.scatter(names, values)plt.subplot(133)plt.plot(names, values, 'g^')plt.suptitle('population statistics')plt.show()if __name__ == "__main__":plot_line()

相关文章:
Python库matplotlib之二
Python库matplotlib之二 figureAxessubplot figure matplotlib.pyplot.figure(numNone, figsizeNone, dpiNone, facecolorNone, edgecolorNone, frameonTrue, FigureClass<class ‘matplotlib.figure.Figure’>, clearFalse, **kwargs) num,int 或 str 或 fi…...
DAY17||654.最大二叉树 |617.合并二叉树 |700.二叉搜索树中的搜索 |
654.最大二叉树 题目:654. 最大二叉树 - 力扣(LeetCode) 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素。左子树是通过数组中最大值左边部分构造出的最大二叉树。右子树…...
读构建可扩展分布式系统:方法与实践16读后总结与感想兼导读
1. 基本信息 构建可扩展分布式系统:方法与实践 [美]伊恩戈顿(Ian Gorton)著 机械工业出版社,2024年5月出版 1.1. 读薄率 书籍总字数188千字,笔记总字数49688字。 读薄率49688188000≈26.4% 1.2. 读厚方向 设计模式:可复用面向对象软件的…...
Anaconda 安装
目录 - [简介](#简介) - [安装Anaconda](#安装anaconda) - [启动Anaconda Navigator](#启动anaconda-navigator) - [创建环境](#创建环境) - [管理包](#管理包) - [常用命令行操作](#常用命令行操作) - [Jupyter Notebook 快速入门](#jupyter-notebook-快速入门) - [结…...
优雅使用 MapStruct 进行类复制
前言 在项目中,常常会遇到从数据库读取数据后不能直接返回给前端展示的情况,因为还需要对字段进行加工,比如去除时间戳记录、隐藏敏感数据等。传统的处理方式是创建一个新类,然后编写大量的 get/set 方法进行赋值,若字…...
第19周JavaWeb编程实战-MyBatis实现OA系统 1-OA系统
办公OA系统项目开发 课程简介 本课程将通过慕课办公OA平台的开发,讲解实际项目开发中必须掌握的技能和设计技巧。课程分为三个主要阶段: 需求说明及环境准备: 基于RBAC的访问控制模块开发: 多级请假审批流程开发: …...
仿黑神话悟空跑动-脚下波纹特效(键盘wasd控制走动)
vue使用three.js实现仿黑神话悟空跑动-脚下波纹特效 玩家角色的正面始终朝向鼠标方向,且在按下 W 键时,玩家角色会朝着鼠标方向前进 空格建跳跃 <template><div ref"container" class"container" click"onClick"…...
`torch.utils.data`模块
在PyTorch中,torch.utils.data模块提供了许多有用的工具来处理和加载数据。以下是对您提到的DataLoader, Subset, BatchSampler, SubsetRandomSampler, 和 SequentialSampler的详细解释以及使用示例。 1. DataLoader DataLoader是PyTorch中用于加载数据的一个非常…...
深入理解 `strncat()` 函数:安全拼接字符串
目录: 前言一、 strncat() 函数的基本用法二、 示例代码三、 strncat() 与 strcat() 的区别四、 注意事项五、 实际应用场景总结 前言 在C语言中,字符串操作是编程中非常常见的需求。strncat() 函数是标准库中用于字符串拼接的一个重要函数,…...
OpenCV_自定义线性滤波(filter2D)应用详解
OpenCV filter2D将图像与内核进行卷积,将任意线性滤波器应用于图像。支持就地操作。当孔径部分位于图像之外时,该函数根据指定的边界模式插值异常像素值。 卷积核本质上是一个固定大小的系数数组,数组中的某个元素被作为锚点(一般…...
设计模式之装饰模式(Decorator)
前言 这个模式带给我们有关组合跟继承非常多的思考 定义 “单一职责” 模式。动态(组合)的给一个对象增加一些额外的职责。就增加功能而言,Decorator模式比生成子类(继承)更为灵活(消除重复代码 & 减少…...
大数据-146 Apache Kudu 安装运行 Dockerfile 模拟集群 启动测试
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
React入门准备
React是什么 React是一个用于构建用户界面的JavaScript框架,用于构建“可预期的”和“声明式的”Web用户界面,特别适合于构建那些数据会随时间改变的大型应用的用户界面。 它起源于Facebook的内部项目,因为对市场上所有JavaScript MVC框架都…...
robomimic基础教程(四)——开源数据集
robomimic开源了大量数据集及仿真环境,数据集标准格式为HDF5 目录 一、基础要求 二、使用步骤 1. 下载数据集 2. 后处理 3. 训练 4. 查看训练结果 三、HDF5数据集结构与可视化 1. 数据集结构 (1)根级别(data 组 group&a…...
胤娲科技:AI界的超级充电宝——忆阻器如何让LLM告别电量焦虑
当AI遇上“记忆橡皮擦”,电量不再是问题! 嘿,朋友们,你们是否曾经因为手机电量不足而焦虑得像个无头苍蝇?想象一下,如果这种“电量焦虑”也蔓延到了AI界, 特别是那些聪明绝顶但“耗电如喝水”的…...
前端大模型入门:使用Transformers.js手搓纯网页版RAG(二)- qwen1.5-0.5B - 纯前端不调接口
书接上文,本文完了RAG的后半部分,在浏览器运行qwen1.5-0.5B实现了增强搜索全流程。但受限于浏览器和模型性能,仅适合于研究、离线和高隐私场景,但对前端小伙伴来说大模型也不是那么遥不可及了,附带全部代码,…...
K-means聚类分析对比
K-means聚类分析,不同K值聚类对比,该内容是关于K-means聚类分析的,主要探讨了不同K值对聚类结果的影响。K-means聚类是一种常见的数据分析方法,用于将数据集划分为K个不同的类别。在这个过程中,选择合适的K值是非常关键…...
tar命令:压缩、解压的好工具
一、命令简介 用途: tar 命令用于创建归档文件(tarball),以及从归档文件中提取文件。 标签: 文件管理,归档。 特点: 归档文件可以保留原始文件和目录的层次结构,通常使用 .tar …...
Mac电脑上最简单安装Python的方式
背景 最近换了一台新的 MacBook Air 电脑,所有的开发软件都没有了,需要重新配环境,而我现在最常用的开发程序就是Python。这篇文章记录一下我新Mac电脑安装Python的全过程,也给大家一些思路上的提醒。 以下是我新电脑的配置&…...
Linux基础命令cd详解
cd(change directory)命令是 Linux 中用于更改当前工作目录的基础命令。它没有很多复杂的参数,但它的使用非常频繁。以下是 cd 命令的详细说明及示例。 基本语法 cd [选项] [路径] 常用选项 -L : 使用逻辑路径(默认选项&…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
【WebSocket】SpringBoot项目中使用WebSocket
1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖,添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
