Python库matplotlib之二

devtools/2024/9/29 16:55:06/

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()

在这里插入图片描述


http://www.ppmy.cn/devtools/118784.html

相关文章

ECCV 2024 | 融合跨模态先验与扩散模型,快手处理大模型让视频画面更清晰!

计算机视觉领域顶级会议 European Conference on Computer Vision&#xff08;ECCV 2024&#xff09;将于9月29日至10月4日在意大利米兰召开&#xff0c;快手音视频技术部联合清华大学所发表的题为《XPSR: Cross-modal Priors for Diffusion-based Image Super-Resolution》——…

JAVA秘密花园匿名情侣假装恋爱体验系统小程序源码

秘密花园&#xff1a;匿名情侣假装恋爱体验系统&#xff0c;解锁爱情新奇遇&#x1f339; &#x1f33f; 开篇&#xff1a;踏入未知的爱情秘境 在繁忙的都市生活中&#xff0c;你是否渴望一场不期而遇的浪漫&#xff1f;是否想尝试一段没有负担、纯粹美好的恋爱体验&#xff…

kafka发送消费核心参数与设计原理详解

核心参数详解: 发送端参数: 发送方式:默认值一般都是1: 重试参数 : 批量参数: 消费端参数: 自动提交参数: 如果是false,就是说消费完后不提交位移。也就是说比如之前消费的1-5.第N次还是消费到1-5.如果是false。那么第一次消费1-3,第二次消费4-5:默认是true:我们…

Flink CDC

全增量一体化架构 自 2.0 版本起&#xff0c;Flink CDC 引入了增量快照框架&#xff0c;实现了数据库全量和增量数据的一体化读取&#xff0c;并可以在全量和增量读取之间进行无缝切换。在读取全量数据时&#xff0c;Flink CDC source 会首先将数据表中的已有数据根据主键分布切…

Oracle(145)如何进行数据库的日常维护?

数据库的日常维护是确保数据库性能稳定、数据安全可靠的关键。以下是进行数据库日常维护的几个重要步骤&#xff0c;包括示例代码&#xff0c;适用于大多数关系型数据库系统&#xff0c;如Oracle, MySQL, PostgreSQL等。 1. 监控数据库性能 监控数据库性能可以帮助及时发现和…

【Python快速学习笔记02】基础语法学习(变量等)

目录 1.标识符与代码书写注意点 2.变量类型 1.标识符与代码书写注意点 &#xff08;1&#xff09;组成&#xff1a;字母&#xff0c;下划线&#xff0c;数字 &#xff08;2&#xff09;注意点&#xff1a;但是不能由数字开头&#xff0c;区分大小写 &#xff08;3&#xff…

MATLAB GUI组件全解析:构建交互式应用程序

MATLAB的图形用户界面&#xff08;GUI&#xff09;是一个功能强大的工具&#xff0c;它允许开发者创建直观且用户友好的界面。这些界面&#xff0c;也称为应用程序或app&#xff0c;提供了点击控制&#xff0c;使得用户无需学习编程语言或输入命令即可运行应用程序。本文将详细…

【web开发】Spring Boot 快速搭建Web项目(三)

Date: 2024.08.31 18:01:20 author: lijianzhan 简述&#xff1a;根据上篇原文Spring Boot 快速搭建Web项目&#xff08;二&#xff09;&#xff0c;由于已经搭建好项目初始的框架&#xff0c;以及自动创建了一个启动类文件&#xff08;TestWebApplication.java&#xff09; …