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

目录

一、前言

二、实验环境

三、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 matplotlibprint("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 pltplt.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.mzph.cn/news/80871.shtml

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

相关文章

使用Selenium和Python自动预订车票

在本文中,我们将探讨如何使用Selenium和Python自动预订车票。我们将以12306.cn网站为例,演示自动化预订车票的过程。通过阅读本文,您将更好地了解如何使用Selenium与网页进行交互。 准备工作 首先,我们需要安装Selenium库。您可…

多表查询——“MySQL数据库”

各位CSDN的uu们好呀,今天,小雅兰的内容是MySQL数据库中的多表查询啦,这个内容确实是一个难点,下面,让我们进入多表查询的世界吧!!! 一个案例引发的多表连接 多表查询分类讲解 SQL9…

bootstrap table export的使用,bootstrap table表格前端导出

第一步:html页面导入2个JS文件 1.依赖文件tableExport.js,该文件的内容如下: use strict;(function ($) {$.fn.tableExport function (options) {let docData;const defaults {csvEnclosure: ",csvSeparator: ,,csvUseBOM: true,dat…

vue前端拿到后端pdf与zip等重新打包为一个新的zip包

目录 vue前端拿到后端pdf与zip等重新打包为一个新的zip包code.vue vue前端拿到后端pdf与zip等重新打包为一个新的zip包 code.vue const urlList [{fileUrl:https://XX.zip,fileName:我是文件.zip},{fileUrl:https://XXX.pdf,fileName:我是pdf.pdf}]this.downloadZip(urlList)…

精品SpringCloud的高校招生信息管理系统-微服务分布式

《[含文档PPT源码等]精品基于SpringCloud实现的高校招生信息管理系统-微服务-分布式》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具: 开发语言:Java 框架:springcloud JDK版本&#x…

FL Studio v21.1.1.3750 Producer Edition inc crack官方中文免费激活版功能介绍及百度网盘下载

FL Studio v21.1.1.3750 Producer Edition inc crack官方中文免费激活版是一款功能强大的软件音乐制作环境或数字音频工作站(DAW)。它代表了25多年的创新发展,在一个软件包中拥有您所需的一切,以创作、编排、录制、编辑、混音和掌…

Python--测试代码

目录 1、使用pip安装pytest 1.1 更新pip 1.2 安装putest 2、测试函数 2.1 单元测试和测试用例 2.2 可通过的测试 2.3 运行测试 2.4 未通过的测试 2.5 解决测试未通过 2.6 添加新测试 3、测试类 3.1 各种断言 3.2 一个测试的类 3.3 测试AnonymousSurvey类 3.4 使…

Linux命令200例:dip用于用户与远程主机建立通信连接

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师&#xff0…

主题教育活动知识竞赛小程序界面分享

主题教育活动知识竞赛小程序界面分享

数据结构:数组

文章目录 数组一,概述二,添加数据三,删除数据 数组 一,概述 数组是一种线性表数据结构,它用一组连续的内存空间来存储一组具有相同类型的数据。 数组可以被视为一块连续的内存,即使物理上不连续&#xf…

微服务保护-授权规则

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…

lighttpd以及socket和WebSocket编程

综述 本文涉及到下图绿色背景部分的内容: 左侧位于Linux下,其中包括lighttpd和socket程序;右侧是WebSocket程序。两者通过网络交互。 本文介绍lighttpd的基本使用方式,并通过编程完成一个socket服务器与浏览器端的WebSocket客户…

本地docker注册证书docker login连接到harbor仓库、利用shell脚本将大量镜像pull、tag、push到私有harbor仓库

1. 本地docker注册证书docker login连接到harbor仓库: 我们使用docker login/push/pull去与Harbor打交道,上传下载镜像等。 但是可能会出现x509: certificate signed by unknown authority之类的错误。 [roottest01 harbor.dev]# docker login harbor.d…

递归算法实现二分查找c++

递归算法可以用来实现二分查找。二分查找是一种高效的搜索算法&#xff0c;适用于已排序的数组。下面是使用递归算法实现二分查找的示例代码&#xff1a; #include <iostream> using namespace std;// 递归二分查找函数 int binarySearch(int arr[], int low, int high,…

数学建模__动态规划

动态规划就是&#xff0c;将任务每一步均记录下来&#xff0c;以便将来重复使用时能够直接调用 问题描述&#xff1a;给定n个物品&#xff0c;每个物品的重量是Wi,价值是Vi&#xff0c;但是背包最多能装下capacity重量的物品&#xff0c;问我们如何选择才能利益最大化。 这里涉…

Oracle的 dblink 学习笔记

文章目录 一、基础环境二、适用场景三、过程和方法四、参考资料 版权声明&#xff1a;本文为CSDN博主「杨群」的原创文章&#xff0c;遵循 CC 4.0 BY-SA版权协议&#xff0c;于2023年9月10日首发于CSDN&#xff0c;转载请附上原文出处链接及本声明。 原文链接&#xff1a;http…

Python | 根据子列表中的第二个元素对列表进行排序

在本文中&#xff0c;我们将学习如何根据主列表中存在的子列表的第二个元素对任何列表进行排序。 比如 Input : [[‘rishav’, 10], [‘akash’, 5], [‘ram’, 20], [‘gaurav’, 15]] Output : [[‘akash’, 5], [‘rishav’, 10], [‘gaurav’, 15], [‘ram’, 20]] Input …

信息化发展47

需求分析 1 、软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。 2 、根据IEEE 的软件工程标准词汇表&#xff0c; 软件需求是指用户解决问题或达到目标所需的条件或能力&#xff0c; 是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的…

Spring Framework介绍

什么是Spring Framework&#xff1f; Spring Framework 是一个开源的、轻量级的应用程序开发框架&#xff0c;它提供了一系列的解决方案&#xff0c;用于构建企业级Java应用程序。Spring Framework基于IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;和…

C#开发的OpenRA游戏之调试菜单1

C#开发的OpenRA游戏之调试菜单1 在开发一个游戏里,经常需要提供一些调试设置,以便快速地达到需要测试的阶段,否则按正常游戏的进程,就会需要比较久的时间,这样浪费开发人员的时间。 在OpenRA提供一个调试菜单,它就是在下面的界面里: 这个菜单叫做 Debug Menu,当玩家点…