【深度学习】 Python 和 NumPy 系列教程(廿五):Matplotlib详解:3、多子图和布局:subplot()函数

news2024/12/22 23:55:47

目录

一、前言

二、实验环境

三、Matplotlib详解

1、2d绘图类型

2、3d绘图类型

3、多子图和布局

1. subplot()函数

简单示例


一、前言

        Python是一种高级编程语言,由Guido van Rossum于1991年创建。它以简洁、易读的语法而闻名,并且具有强大的功能和广泛的应用领域。Python具有丰富的标准库和第三方库,可以用于开发各种类型的应用程序,包括Web开发、数据分析、人工智能、科学计算、自动化脚本等。

        Python本身是一种伟大的通用编程语言,在一些流行的库(numpy,scipy,matplotlib)的帮助下,成为了科学计算的强大环境。本系列将介绍Python编程语言和使用Python进行科学计算的方法,主要包含以下内容:

  • Python:基本数据类型、容器(列表、元组、集合、字典)、函数、类
  • Numpy:数组创建、数组操作、数组数学、广播
  • Matplotlib:2d绘图、3d绘图、图表自定义、多子图和布局、图表自定义、多子图和布局
  • IPython:创建笔记本、典型工作流程

二、实验环境

matplotlib3.5.3
numpy1.21.6
python3.7.16
  • 运行下述命令检查Python版本
 python --version 
  • 运行下述代码检查Python、NumPy、Matplotlib版本
import sys
import numpy as np
import matplotlib

print("Python 版本:", sys.version)
print("NumPy 版本:", np.__version__)
print("matplotlib 版本:", matplotlib.__version__)

三、Matplotlib详解

        Matplotlib是一个用于创建数据可视化的Python库。它提供了广泛的绘图选项,能够生成各种类型的图表、图形和可视化效果。下面是Matplotlib的一些主要功能:

  1. 绘图风格和类型:Matplotlib支持各种绘图风格和类型,包括线图、散点图、柱状图、饼图、等高线图、3D图等,可以根据需要选择适合的图表类型来展示和分析数据。

  2. 数据可视化:Matplotlib使得将数据转化为可视化表示变得简单,可以使用Matplotlib绘制图表来展示数据的分布、趋势、关系等,这有助于更好地理解数据和发现潜在的模式和关联。

  3. 图表自定义:Matplotlib提供了丰富的图表自定义选项,可以调整图表的标题、标签、坐标轴、线条样式、颜色等。这使得您能够创建符合特定需求和品味的高质量图表。

  4. 多子图和布局:Matplotlib允许您在单个图像中创建多个子图,以便同时展示多个相关的图表或数据视图。您可以自定义子图的布局和排列,以满足特定的展示需求。

  5. 导出图像:Matplotlib支持将图像导出为多种格式,包括PNG、JPEG、PDF、SVG等。这使得您可以方便地将生成的图表保存为文件,或嵌入到文档、报告和演示文稿中。

        无论是进行科学研究、数据分析、报告撰写还是可视化展示,Matplotlib都是一个强大而灵活的工具。它广泛应用于各个领域,如数据科学、机器学习、金融分析、工程可视化等。

1、2d绘图类型

2d绘图(上):折线图、散点图、柱状图、直方图、饼图_QomolangmaH的博客-CSDN博客​编辑https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132872575?spm=1001.2014.3001.5501

2d绘图(下):箱线图、热力图、面积图、等高线图、极坐标图_QomolangmaH的博客-CSDN博客​编辑https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501​编辑https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/article/details/132890656?spm=1001.2014.3001.5501

2、3d绘图类型

Matplotlib绘图_QomolangmaH的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_63834988/category_12441299.html

3、多子图和布局

1. subplot()函数

        用于创建单个子图,其语法如下:

import matplotlib.pyplot as plt

plt.subplot(nrows, ncols, index)
  • nrows表示子图的行数
  • ncols表示子图的列数
  • index表示当前子图的索引。

简单示例

import matplotlib.pyplot as plt

# 创建一个2行2列的子图布局
plt.subplot(2, 2, 1)  # 第一个子图
plt.plot([1, 2, 3, 4], [1, 4, 9, 16])

plt.subplot(2, 2, 2)  # 第二个子图
plt.plot([1, 2, 3, 4], [1, 2, 3, 4])

plt.subplot(2, 2, 3)  # 第三个子图
plt.plot([1, 2, 3, 4], [1, 8, 27, 64])

plt.subplot(2, 2, 4)  # 第四个子图
plt.plot([1, 2, 3, 4], [1, 16, 81, 256])

plt.show()

   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012789.html

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

相关文章

【Redis】深入理解 Redis 持久化机制 —— RDB 和 AOF

文章目录 一、Redis 的持久化二、RDB 持久化机制2.1 对 RBD 的认识RDB 的概念RDB 持久化机制的优缺点RDB 的相关配置 2.2 RDB 的触发时机2.2 RDB 的触发时机自动触发手动触发:SAVE 和 BGSAVE 2.3 RDB 文件的处理保存 RDB 文件压缩 RDB 文件校验 RDB 文件 三、AOF 持…

Python如何查看内存泄漏

在python中,当一个变量不被引用的时候就会触发垃圾回收机制从而被从内存中删除,但有时一个不注意可能就会出现内存泄漏问题。 Python中可能的会出现内存泄露的情况 (1) 循环引用:当两个或多个对象相互引用,造成的循环引用进而导…

Pytorch学习:torch.argmax(input, dim, keepdim=False)详解

torch.argmax() 返回输入中所有元素的最大值的索引,与torch.max()中返回(values, indices)中的indices类似,它也常被用于深度学习中的分类问题。 在下面程序中,使用torch.argmax() import torcha torch.tensor([[1, 2, 3, 4],[4, 1, 2, 3]…

5个免费的3D钣金CAD软件

作为一名咨询顾问,我一直在寻找能够满足大客户需求的最佳 CAD 软件。 但我知道并不是每个人都在寻找劳斯莱斯式的钣金设计解决方案。 有时你只想要一些简单的东西,而且最好是免费的。 例如,如果你正在设计简单的折叠钣金零件,则只…

Linux安装filebeat

相关链接 主⻚: https://www.elastic.co/cn/products/beats/filebeat 下载: wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.5.1-linux-x86_64.tar.gz 百度云链接:https://pan.baidu.com/s/1MLshk_VyZZTmKhZvlS…

基于SpringBoot的一套强大后台管理系统

概述 一个功能强大而完善的后台管理系统框架,用户可基于此框架进行二次开发,定制成符合自己的需求的后台管理系统! 详细 运行截图: 项目结构: 详细说明: 环境说明: jdk1.8mavenMySQL5.7 项…

Vue框架--Vue过滤器

下面,我们一起来看看Vue中的过滤器。 过滤器: 定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)。 语法: 1.注册过滤器:Vue.filter(name,callback) 或 ne…

分享一个springboot+uniapp开发的线上马拉松报名小程序源码 lw 调试

💕💕作者:计算机源码社 💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流! 💕&…

【史上最硬核分享】Docker+jenkinsPipeline 运行实现 python 自动化(超详细)

一、实现思路 在 Linux 服务器安装 docker创建 jenkins 容器jenkins 中创建 pipeline 项目根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境)运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目执行完成之后删除容器 二、环境准备 Linu…

HUAWEI华为笔记本MateBook 14 I5 独显(KLV-W19)原装出厂Windows10系统1809

华为原厂Windows10系统,自带指纹、声卡、显卡等所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、华为电脑管家等预装程序 链接:https://pan.baidu.com/s/1ylRh1RmZU0S67ayGip8bpw?pwds34v 提取码:s34v

数据库被攻击需要注意什么

没想到自己用了一个简单的腾讯虚拟机,里面自己安装了一个 MySQL 数据库也会被黑客攻击。 一、问题现象 小程序访问不了,后台程序报数据库相关的错误。 查看数据库,发现数据库被篡改。 二、问题原因 1、为了可以远程能够访问数据库&#xf…

是时候重视官网了,寄生平台的生意表达,就是在给平台打工

B2C在国外80%在官网成交,20%在电商平台;在中国刚好反过来,99%在电商及社交平台,也许只有1%在官网,导致大量的利润都交给平台,换句话说,就是给平台打工。 “要改变普遍不重视官网的认知&#xf…

在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境

目录 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发环境一 Fyne 和 MSYS2简介1.1 Fyne1.2 MSYS2 二 安装 MSYS22.1 下载MSYS22.2 安装2.3 环境变量设置2.4 检测安装环境 三 参考文档 在Windos 10专业版搭建Fyne(Go 跨平台GUI)开发…

锐捷交换机vlan隔离(wifi段仅能访问外网,不能访问内网)

因为公司的wifi段,未做隔离,无意间上了网,发现能访问内网网段,这里内网是10、20段,管理网段是100段,于是做了和内网的vlan隔离。 拓朴如下,所有vlan的网关都起在核心上,所有交换机通…

SpringMVC----自定义注解

目录 自定义注解 是什么 作用 JDK元注解 测试案列 案例一(获取类与方法上的注解值) 案例二(获取类属性上的注解属性值) 案例三(获取参数修饰注解对应的属性值) 五.Aop自定义注解的应用 Mylog…

面试题三:请你谈一谈Vue中的filter功能的实现

Vue中过滤器(filter)的使用 我们想一下有methods为什么要有filter的存在呢,因为filter的实现效率比methods要高的多。 看一下官方定义: Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号…

常见知识蒸馏方法总结记录

蒸馏(Knowledge Distillation)是一种将一个模型(通常称为教师模型)学习到的知识迁移到另一个模型(通常称为学生模型)的技术。通常,教师模型是一个复杂而准确的模型,而学生模型则是一…

ABB PU515A 3BSE032401R1 自动化控制模块

ABB PU515A 3BSE032401R1 是一种自动化控制模块,通常用于工业自动化和控制系统中,以支持各种控制和监测任务。以下是可能适用于ABB PU515A 3BSE032401R1 自动化控制模块的一些常见产品特点: 多通道控制: PU515A 通常具有多个输入和…

基于5G网络的智能车间MES设计方案

导读 在数字化转型建设过程中,机械制造企业的难点是智能车间的设计。随着5G技术的发展,大量的带网络接口的智能设备的投入使用,智能车间的实施成为可能。本文从车间生产计划调度、过程管控、设备管理、质量管理、能耗管理和物流仓储等方面提…

【JAVA】关于重写(Override)与重载(Overload)

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言方法重载(Overload)重载的规则示例代码方法重写(Override)重写的规则示例代码方法重载与方法重写的区别 前言 关于JAVA&…