Python库matplotlib之二

news2024/11/18 13:50:36

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.05
    bottom = 0.05
    width = 0.90
    height = 0.80
    rect = left, bottom, width, height
    fig = 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 Button

freqs = 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 = 0

    def reset(self, event):
        self.ind = 0
        i = 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 += 1
        i = 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 -= 1
        i = 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 plt

def 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.coloradmin.cn/o/2176083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Starfyre:一款使用纯 Python 创建响应式前端应用的 Python Web 框架

Starfyre 是一款基于 WebAssembly (WASM) 的 Python Web 框架&#xff0c;它允许你使用纯 Python 创建响应式前端应用。这意味着你可以轻松地构建交互式、实时应用程序&#xff0c;无需繁琐的 JavaScript 代码。Starfyre 基于 Pyscript 实现客户端功能&#xff0c;并通过 pyxid…

【每天学个新注解】Day 9 Lombok注解简解(八)—@Synchronized、@Locked

Synchronized 通过锁代码块的方式实现同步锁。 当synchronized修饰类属性时&#xff0c;通常用于定义同步代码块&#xff0c;此时需要指定一个锁对象。这个锁对象通常是类的某个私有静态成员变量&#xff0c;因为类属性是静态的&#xff0c;所以锁也应该是静态的&#xff0c;以…

【Python】YOLO牛刀小试:快速实现视频物体检测

YOLO牛刀小试&#xff1a;快速实现视频物体检测 在深度学习的众多应用中&#xff0c;物体检测是一个热门且重要的领域。YOLO&#xff08;You Only Look Once&#xff09;系列模型以其快速和高效的特点&#xff0c;成为了物体检测的首选之一。本文将介绍如何使用YOLOv8模型进行…

二叉搜索树的介绍、模拟实现二叉搜索树、leetcode---根据二叉树创建字符串、leetcode---二叉树的最近公共祖先等的介绍

文章目录 前言一、二叉搜索树的介绍二、模拟实现二叉搜索树三、leetcode---根据二叉树创建字符串四、leetcode---二叉树的最近公共祖先总结 前言 二叉搜索树的介绍、模拟实现二叉搜索树、leetcode—根据二叉树创建字符串、leetcode—二叉树的最近公共祖先等的介绍 一、二叉搜索…

57 长短期记忆网络(LSTM)_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录长短期记忆网络&#xff08;LSTM&#xff09;门控记忆元输入门、忘记门和输出门候选记忆元 (相当于RNN中计算 H t H_t Ht​)记忆元隐状态 从零开始实现初始化模型参数定义模型训练和预测 简洁实现小结练习 长短期记忆网络&#xff08;LSTM&a…

0基础学习CSS(六)字体

CSS 字体 CSS字体属性定义字体&#xff0c;加粗&#xff0c;大小&#xff0c;文字样式。 serif和sans-serif字体之间的区别 在计算机屏幕上&#xff0c;sans-serif字体被认为是比serif字体容易阅读 CSS字型 在CSS中&#xff0c;有两种类型的字体系列名称&#xff1a; 通用字体…

Java | Leetcode Java题解之第443题压缩字符串

题目&#xff1a; 题解&#xff1a; class Solution {public int compress(char[] chars) {int n chars.length;int write 0, left 0;for (int read 0; read < n; read) {if (read n - 1 || chars[read] ! chars[read 1]) {chars[write] chars[read];int num read …

解读文本嵌入:语义表达的练习

【引子】近来在探索并优化AIPC的软件架构&#xff0c;AI产品经理关于语义搜索的讨论给了自己较多的触动&#xff0c;于是重新梳理嵌入与语义的关系&#xff0c;遂成此文。 文本转换成机器可理解格式的最早版本之一是 ASCII码&#xff0c;这种方法有助于渲染和传输文本&#xff…

win10系统K8S安装教程

准备工作 电脑硬件&#xff1a;支持虚拟化的CPU&#xff0c;内存最好在32G以上&#xff0c;16G也可以操作系统&#xff1a;window10 专业版 1 开启虚拟化 1.1 BIOS 由于主板和CPU的品牌不太一样&#xff0c;这里的操作仅供参考&#xff0c;以Intel的平台为例&#xff1a; …

【刷点笔试面试题试试水】有符号变量与无符号变量的值的转换

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: 注意无符号类型与有符合类型参与计算会做类型提升,有符合的变为无符号…

加法器以及标志位

加法器的结构&#xff1a; OF&#xff08;溢出标志位&#xff09;&#xff0c;SF&#xff08;符号标志位&#xff09;&#xff0c;ZF&#xff08;0标志位&#xff09;&#xff0c;ZF&#xff08;进位/借位标志位&#xff09; 有符号数看标志位&#xff1a;OF&#xff0c;SF 无符…

ubuntu 不用每次输入sudo的四种方式

在Ubuntu系统中&#xff0c;如果不希望每次执行需要管理员权限的命令时都输入sudo&#xff0c;有几种方法可以实现这一目标。以下是一些详细的方法&#xff1a; 第一种方式: 切换root用户 (如果你有足够的权限) # 修改root密码命令(没有设置的用户需要设置一下) consolaadmin…

面试中顺序表常考的十大题目解析

在数据结构与算法的面试中&#xff0c;顺序表是一个常见的考点。它作为一种基础的数据结构&#xff0c;涵盖了多种操作和概念&#xff0c;以下将详细介绍面试中关于顺序表常考的十大题目。 &#x1f49d;&#x1f49d;&#x1f49d;如果你对顺序表的概念与理解还存在疑惑&#…

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs-基础版

【Threejs进阶教程-着色器篇】8. Shadertoy如何使用到Threejs - 基础版 前七篇地址,建议按顺序学习致谢带我入门的[X01动力装甲]大佬本文适用范围怎么样在Shadertoy中画出正圆形shadertoy中的坐标系比例转换理解Shadertoy的fragCoord理解Shadertoy中的iResolution 转移Shaderto…

SigmaStudio淡入淡出增益控件(Single SW slew vol(adjustable))延时分析

斜率范围1~23&#xff0c;参考12khz正弦波&#xff08;-17.99db,调减15.2db&#xff09;作为分析依据 一、淡入时间与斜率关系 斜率1-----淡入延时时间大概0.08毫秒 斜率2—淡入延时时间大概0.2毫秒 斜率3–淡入延时时间按大概0.5毫秒 斜率4–淡入延时时间大概1毫秒 斜率5–淡…

C++学习笔记之结构体

C学习笔记之结构体 https://www.runoob.com/cplusplus/cpp-struct.html 结构体是C中一种由用户自定义的数据类型&#xff0c;允许存储不同类型的数据项 1、定义结构体 使用struct语句定义结构体 结构体与C中的类看起来结构相似&#xff0c;同样是可以在其中定义成员变量和成员…

picgo + typora + gitee图床

Picgo打造个人图床&#xff0c;稳定又安全 解决Typora笔记上传到CSDN图片无法显示的问题 typora中

完全二叉树的节点个数 C++ 简单问题

完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层&#xff0c;则该层包含 1~ 2h 个节点。 示例 1&#xff…

蓝桥杯—STM32G431RBT6(RTC时钟获取时间和日期)

一、RTC是什么&#xff0c;有什么用&#xff1f; 在 STM32 中&#xff0c;RTC&#xff08;Real-Time Clock&#xff0c;实时时钟&#xff09;主要有以下作用&#xff1a; 时间保持&#xff1a;即使在系统断电情况下&#xff0c;也能持续记录时间。&#xff08;需要纽扣电池供电…

解决银河麒麟V10密码过期无法登录的问题

解决银河麒麟V10密码过期无法登录的问题 1、问题描述2、 解决方法步骤一&#xff1a;更改密码步骤二&#xff1a;调整密码策略&#xff08;可选&#xff09; 3、总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在使用银河麒麟桌面操作系…