当前位置: 首页 > news >正文

Python中采用.add_subplot绘制子图的方法简要举例介绍

Python中采用.add_subplot绘制子图的方法简要举例介绍

目录

  • Python中采用.add_subplot绘制子图的方法简要举例介绍
    • 一、Python中绘制子图的方法
      • 1.1 add_subplot函数
      • 1.2 基本语法
        • (1)add_subplot的核心语法
        • (2)add_subplot在中编程中的主要程序段
    • 二、使用.add_subplot绘制子图举例
      • 2.1 问题描述
      • 2.2 程序代码
      • 2.3 运行结果

在Python中中绘图常会用到Matplotlib库,本文讲简要举例说明利用Matplotlib 库中的函数add_subplot实现子图的绘制,并说明其用法。

一、Python中绘制子图的方法

1.1 add_subplot函数

作为Matplotlib 库中的一个函数add_subplot,用于在画布(figure)上添加子图(subplot)。这个方法比较有用,可以帮助使用者在想要在一个图中创建多个子图。

1.2 基本语法

关于如何使用 add_subplot ,本小节给出了使用主要方法:

(1)add_subplot的核心语法
ax= fig.add_subplot(nrows, ncols, plot_number)

其中:
nrows: 表示网格中的行数。
ncols: 表示网格中的列数。
plot_number: 指定子图的位置。

例如,fig.add_subplot(2, 3, 5)表示在2x3网格中的左下角放置一个子图,则plot_number应为5。

(2)add_subplot在中编程中的主要程序段
import matplotlib.pyplot as plt
fig = plt.figure()
ax_n = fig.add_subplot(nrows, ncols, plot_number)
ax_n.plot(x_n, y_n)
plt.show()

二、使用.add_subplot绘制子图举例

2.1 问题描述

为了 在2*2的图中绘制如下函数所表示的4个子图,
{ y 1 = sin ⁡ x + x y 2 = sin ⁡ x 2 + 2 x y 3 = sin ⁡ x 3 + 3 x y 4 = sin ⁡ x 4 + 4 x \begin{cases} y_{1}=\sin x +x \\ y_{2}=\sin x^2 +2x \\ y_{3}=\sin x^3 +3x \\ y_{4}=\sin x^4 +4x\end{cases} y1=sinx+xy2=sinx2+2xy3=sinx3+3xy4=sinx4+4x,其中 0 ≤ x < 2 π 0\le x <2\pi 0x<2π.
将使用Matplotlib工具库中add_subplot的进行绘图。

2.2 程序代码

示例代码
假设我们想在一个2x2的网格中绘制四个不同的图表:

import matplotlib.pyplot as plt
import numpy as np# 1.数据准备x = np.linspace(0, 2* np.pi, 400)
y1 = np.sin(x )+x
y2 = np.sin(x ** 2)+2*x
y3 = np.sin(x ** 3)+3*x
y4 = np.sin(x ** 4)+4*x# 2.创建一个新的图形对象
fig = plt.figure()# 2.1 在2x2的网格中添加子图
ax1 = fig.add_subplot(2, 2, 1) # 左上
ax2 = fig.add_subplot(2, 2, 2) # 右上
ax3 = fig.add_subplot(2, 2, 3) # 左下
ax4 = fig.add_subplot(2, 2, 4) # 右下# 2.2.再各个子图中绘制数据ax1.plot(x, y1)
ax1.set_title('Subplot 1')ax2.plot(x, y2)
ax2.set_title('Subplot 2')ax3.plot(x, y3)
ax3.set_title('Subplot 3')ax4.plot(x, y4)
ax4.set_title('Subplot 4')plt.show()

2.3 运行结果

比如将上述程序,在PyCharm中运行结果如下:

在这里插入图片描述
图1 采用.add_subplot绘制子图的运行结果

http://www.lryc.cn/news/524907.html

相关文章:

  • 纯 Python、Django、FastAPI、Flask、Pyramid、Jupyter、dbt 解析和差异分析
  • C++实现有限元二维杆单元计算 Bar2D2Node类(纯自研 非套壳)
  • wx036基于springboot+vue+uniapp的校园快递平台小程序
  • Unity中两个UGUI物体的锚点和中心点设置成不一样的,然后怎么使两个物体的位置一样?
  • 兼职全职招聘系统架构与功能分析
  • HTML5 History API
  • 2025_1_22打卡
  • Formality:不可读(unread)的概念
  • stm32f103C8T6和AT24C256链接
  • 5.SQLAlchemy对两张有关联关系表查询
  • 2.2.1 语句结构
  • 安当二代TDE透明加密技术与SMS凭据管理系统相结合的数据库安全解决方案
  • es的date类型字段按照原生格式进行分组聚合
  • 高频次UDP 小包丢包分析
  • 科目四考试内容
  • 2015 年 4 月多省(区、市)公务员录用考试 《申论》真题详解
  • 四、CSS效果
  • 全面评测 DOCA 开发环境下的 DPU:性能表现、机器学习与金融高频交易下的计算能力分析
  • 图论 八字码
  • OSI5GWIFI自组网协议层次对比
  • 北理新源监控平台都管理哪些数据
  • WPS不登录无法使用基本功能的解决方案
  • 车载软件架构 --- CP和AP作为中央计算平台的软件架构双核心
  • 【技巧】优雅的使用 pnpm+Monorepo 单体仓库构建一个高效、灵活的多项目架构
  • 【深度学习基础】多层感知机 | 权重衰减
  • 修改word的作者 最后一次保存者 总编辑时间 创建时间 最后一次保存的日期
  • 青少年编程与数学 02-007 PostgreSQL数据库应用 15课题、备份与还原
  • Flutter:自定义Tab切换,订单列表页tab,tab吸顶
  • SAS-proc sgplot绘图
  • 怎么使用python 调用高德地图api查询位置和导航?