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

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.kler.cn/a/514461.html

相关文章:

  • MTK MT6890:LCD ST7789P3驱动移植调试
  • 使用vue-next-admin框架后台修改动态路由
  • Ext2 文件系统:数字世界的基石,深度解码超时空存储魔法
  • C#使用WMI获取控制面板中安装的所有程序列表
  • 2024年度总结-CSDN
  • 简述mysql 主从复制原理及其工作过程,配置一主两从并验证
  • NIO 和 Netty 在 Spring Boot 中的集成与使用
  • mapbox加载geojson,鼠标移入改变颜色,设置样式,vue中使用方法
  • 【docker-1】快速入门docker
  • java 根据前端传回的png图片数组,后端加水印加密码生成pdf,返回给前端
  • ELK介绍
  • 前沿技术趋势洞察:2024年技术的崭新篇章与未来走向!
  • (2)STM32 USB设备开发-USB虚拟串口
  • Android SystemUI——系统快捷设置面板(十三)
  • HTML<form>标签
  • suctf2025
  • Java 中 final 关键字的奥秘
  • 锐捷路由器网关RG-NBR6135-E和锐捷交换机 Ruijie Reyee RG-ES224GC 电脑登录web方法
  • IDEA导入Maven工程不识别pom.xml
  • 5G/4G+北斗三号水利遥测终端机RTU-打造水利工程的智能核心
  • Azure面试
  • PHP语言的语法糖
  • Java 设计模式 二 单例模式 (Singleton Pattern)
  • STM32学习9---EXIT外部中断(理论)
  • qiankun+vite+vue3
  • spring security StackOverflowError 问题解决