Python | 使用Matplotlib生成子图的示例
数据可视化在分析和解释数据的过程中起着举足轻重的作用。Python中的Matplotlib库提供了一个强大的工具包,用于制作各种图表和图表。一个突出的功能是它能够在单个图中生成子图,为以组织良好和结构化的方式呈现数据提供了有价值的工具。使用子图可以同时显示多个图,有助于改进基础数据的全面视觉表示。
使用Python的Matplotlib生成子图
有几种方法可以使用Python的Matplotlib生成子图。在这里,我们将探索一些常用的方法来使用Python的Matplotlib创建子图。
- 使用Line Plot的多个子图
- 使用Bar Plot的多个子图
- 使用Pie Plot的多个子图
- 自定义子图组合
使用Line Plot的多个子图
在本例中,代码利用Matplotlib生成一个2×2网格的线图,每个线图都基于示例数据描绘一个数学函数(正弦、余弦、正切和指数)。子图是使用plt.subplots函数创建和自定义的,每个子图都标有标题、线条颜色和图例。在调整布局以获得子图之间的最佳间距后,使用plt.show显示生成的可视化。
import matplotlib.pyplot as plt
import numpy as np# Example data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(-x)# Creating Multiple Subplots for Line Plots
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))# Line Plot 1
axes[0, 0].plot(x, y1, label='sin(x)', color='blue')
axes[0, 0].set_title('Line Plot 1')
axes[0, 0].legend()# Line Plot 2
axes[0, 1].plot(x, y2, label='cos(x)', color='orange')
axes[0, 1].set_title('Line Plot 2')
axes[0, 1].legend()# Line Plot 3
axes[1, 0].plot(x, y3, label='tan(x)', color='green')
axes[1, 0].set_title('Line Plot 3')
axes[1, 0].legend()# Line Plot 4
axes[1, 1].plot(x, y4, label='exp(-x)', color='red')
axes[1, 1].set_title('Line Plot 4')
axes[1, 1].legend()# Adjusting layout
plt.tight_layout()# Show the plots
plt.show()
使用Bar Plot的多个子图
在这个例子中,Python代码利用Matplotlib生成一个2×2的子图网格,每个子图都包含一个条形图。示例数据由四个类别(A、B、C、D)和四个集合的对应值组成。子图函数用于创建子图网格,然后为每组值生成单独的条形图。生成的可视化显示了条形图1到条形图4中各类别值的分布,每个子图都有自定义的颜色和标题。为了清晰起见,布局进行了调整,合并的子图集使用plt.show()显示。
import matplotlib.pyplot as plt
import numpy as np# Example data for bar plots
categories = ['A', 'B', 'C', 'D']
values1 = [3, 7, 1, 5]
values2 = [5, 2, 8, 4]
values3 = [2, 6, 3, 9]
values4 = [8, 4, 6, 2]# Creating Multiple Subplots for Bar Plots
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))# Bar Plot 1
axes[0, 0].bar(categories, values1, color='blue')
axes[0, 0].set_title('Bar Plot 1')# Bar Plot 2
axes[0, 1].bar(categories, values2, color='orange')
axes[0, 1].set_title('Bar Plot 2')# Bar Plot 3
axes[1, 0].bar(categories, values3, color='green')
axes[1, 0].set_title('Bar Plot 3')# Bar Plot 4
axes[1, 1].bar(categories, values4, color='red')
axes[1, 1].set_title('Bar Plot 4')# Adjusting layout
plt.tight_layout()# Show the plots
plt.show()
使用Pie Plot的多个子图
在这个例子中,Python代码使用Matplotlib创建了一个2×2的饼图网格。每个图表都表示不同的分类数据,并具有指定的标签、大小和颜色。plt.subplots
函数生成子图网格,然后使用pie
函数用饼图填充每个子图。该代码调整布局的间距,并显示饼图的可视化表示。
import matplotlib.pyplot as plt# Example data for pie charts
labels1 = ['Category 1', 'Category 2', 'Category 3']
sizes1 = [30, 40, 30]labels2 = ['Section A', 'Section B', 'Section C']
sizes2 = [20, 50, 30]labels3 = ['Apple', 'Banana', 'Orange', 'Grapes']
sizes3 = [25, 30, 20, 25]labels4 = ['Red', 'Green', 'Blue']
sizes4 = [40, 30, 30]# Creating Multiple Subplots for Pie Charts
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(10, 8))# Pie Chart 1
axes[0, 0].pie(sizes1, labels=labels1, autopct='%1.1f%%', colors=['red', 'yellow', 'green'])
axes[0, 0].set_title('Pie Chart 1')# Pie Chart 2
axes[0, 1].pie(sizes2, labels=labels2, autopct='%1.1f%%', colors=['blue', 'orange', 'purple'])
axes[0, 1].set_title('Pie Chart 2')# Pie Chart 3
axes[1, 0].pie(sizes3, labels=labels3, autopct='%1.1f%%', colors=['orange', 'yellow', 'green', 'purple'])
axes[1, 0].set_title('Pie Chart 3')# Pie Chart 4
axes[1, 1].pie(sizes4, labels=labels4, autopct='%1.1f%%', colors=['red', 'green', 'blue'])
axes[1, 1].set_title('Pie Chart 4')# Adjusting layout
plt.tight_layout()# Show the plots
plt.show()
自定义子图组合
在这个例子中,Python代码使用Matplotlib生成一个具有2×3子图网格的图。示例数据包括正弦和余弦线图、条形图、饼图以及二次和指数函数的自定义图。每个子图都使用标题、标签和图例进行自定义。该代码展示了如何在单个图中创建子图的视觉多样性布局,展示了Matplotlib对各种图类型的多功能性。
import matplotlib.pyplot as plt
import numpy as np# Example data
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)# Example data for bar plots
categories = ['A', 'B', 'C', 'D']
values = [3, 7, 1, 5]# Example data for pie chart
labels = ['Category 1', 'Category 2', 'Category 3']
sizes = [30, 40, 30]# Example data for custom layout
x_custom = np.linspace(0, 5, 50)
y3 = x_custom**2
y4 = np.exp(x_custom)# Creating Multiple Subplots
fig, axes = plt.subplots(nrows=2, ncols=3, figsize=(15, 8))# Creating Multiple Subplots of Line Plots
axes[0, 0].plot(x, y1, label='sin(x)', color='blue')
axes[0, 0].set_title('Line Plot 1')
axes[0, 0].legend()axes[0, 1].plot(x, y2, label='cos(x)', color='orange')
axes[0, 1].set_title('Line Plot 2')
axes[0, 1].legend()# Creating Multiple Subplots of Bar Plots
axes[0, 2].bar(categories, values, color='green')
axes[0, 2].set_title('Bar Plot')# Creating Multiple Subplots of Pie Charts
axes[1, 0].pie(sizes, labels=labels, autopct='%1.1f%%', colors=['red', 'yellow', 'green'])
axes[1, 0].set_title('Pie Chart')# Creating a custom Multiple Subplots
axes[1, 1].plot(x_custom, y3, label='x^2', color='purple')
axes[1, 1].set_title('Custom Plot 1')
axes[1, 1].legend()axes[1, 2].plot(x_custom, y4, label='e^x', color='brown')
axes[1, 2].set_title('Custom Plot 2')
axes[1, 2].legend()# Adjusting layout
plt.tight_layout()# Show the plots
plt.show()
总结
Matplotlib的子图提供的灵活性允许在单个图中同时呈现多个图,增强了显示信息的清晰度和一致性。无论是组织折线图、条形图、饼图还是自定义图,理解子图网格、轴对象和“子图”功能的概念都是必不可少的。
相关文章:
![](https://img-blog.csdnimg.cn/direct/2150649fdcee4ac8ab0f2d632c8054f3.png)
Python | 使用Matplotlib生成子图的示例
数据可视化在分析和解释数据的过程中起着举足轻重的作用。Python中的Matplotlib库提供了一个强大的工具包,用于制作各种图表和图表。一个突出的功能是它能够在单个图中生成子图,为以组织良好和结构化的方式呈现数据提供了有价值的工具。使用子图可以同时…...
![](https://www.ngui.cc/images/no-images.jpg)
云原生巡检监控报告
一、巡检概述 本次云原生巡检工作主要围绕云原生平台的稳定性、安全性以及性能进行,通过对平台资源的监控、日志分析以及安全扫描,发现了一些潜在的问题和隐患。巡检工作采用了自动化工具和人工分析相结合的方式,确保了巡检结果的准确性和全…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux系统编程——部分内容补充
回顾 进程 内核相关数据结构 代码和数据,一个可执行程序加载到内存变成进程,不仅仅是把代码和数据加载进去就完事了,得“先描述,再组织”,每个进程都有内核数据结构,地址空间,进程相关页表&a…...
![](https://img-blog.csdnimg.cn/direct/4b6f38de50454b96bd84e219aadc8038.png)
数学建模基础:非线性模型
目录 前言 一、非线性方程组 二、非线性规划 三、微分方程模型 四、非线性模型的应用 五、实例示范:传染病传播模型 实例总结 五、总结 前言 非线性模型用于描述变量之间的非线性关系,相比线性模型,其数学形式更为复杂,但…...
![](https://img-blog.csdnimg.cn/direct/5605bcf5b94047f3bca5c02338f2eb62.png)
Kotlin 语言基础学习
什么是Kotlin ? Kotiln翻译为中文是:靠他灵。它是由JetBrains 这家公司开发的,JetBrains 是一家编译器软件起家的,例如常用的WebStorm、IntelliJ IDEA等软件。 Kotlin官网 JetBrains 官网 Kotlin 语言目前的现状: 目前Android 已将Kotlin 作为官方开发语言。 Spring 框…...
![](https://www.ngui.cc/images/no-images.jpg)
Kafka 之 KRaft —— 配置、存储工具、部署注意事项、缺失的特性
目录 一. 前言 二. 配置(Configuration) 2.1. 处理者角色(Process Roles) 2.2. 控制器(controller) 2.3. 存储工具(Storage Tool) 2.4. 调试(Debugging)…...
![](https://img-blog.csdnimg.cn/direct/21b400ff81334deeb8988215c48117ef.png)
专业和学校到底怎么选,兴趣和知名度到底哪个重要?
前言 2024高考已经落下帷幕,再过不久就到了激动人心的查分和填报志愿的时刻,在那天到来,小伙伴们就要根据自己的分数选取院校和专业,接下来我就以参加22年(破防年)河南高考的大二生来讲述一下我自己对于如何选取院校和专业的看法以…...
![](https://www.ngui.cc/images/no-images.jpg)
【MySQL】数据库
数据库概述 【MySQL】数据库概述-CSDN博客 数据库基本操作 【MySQL】数据库基本操作-CSDN博客 数据表基本操作 【MySQL】数据表基本操作-CSDN博客 约束 【MySQL】约束-CSDN博客 基本增删改查 【MySQL】基本增删改查-CSDN博客 多表操作 【MySQL】多表操作-CSDN博客 视图 …...
![](https://img-blog.csdnimg.cn/direct/3d5647332ae342d5a4cfcb83aa651e7e.jpeg)
D111FCE01LC2NB70带流量调节派克比例阀
D111FCE01LC2NB70带流量调节派克比例阀 派克比例阀:由于采用(秉圣135陈工6653询3053)电液混合控制技术,响应速度更快、精度更高、控制更平稳。同时,由于采用高质量的材料制造,具有较高的承压能力和抗磨损性…...
![](https://img-blog.csdnimg.cn/direct/5ce266e43c2349e2aa0f4565926d6310.png)
buuctf-findKey
exe文件 运行发现这个窗口,没有任何消息 32位 进入字符串就发现了flag{ 左边红色代表没有F5成功 我们再编译一下(选中红色的全部按p) LRESULT __stdcall sub_401640(HWND hWndParent, UINT Msg, WPARAM wParam, LPARAM lParam) {int v5; // eaxsize_t v6; // eaxDWORD v7; /…...
![](https://www.ngui.cc/images/no-images.jpg)
针对oracle系列数据库慢数据量大的问题
-- 确保索引存在 create index idx_risk_assessment_hazard on risk_assessment_hazard(data_time, perception_id); create index idx_risk_dispose_base_info on risk_dispose_base_info(perception_id); -- 使用并行查询和with子句进行优化 explain plan for with t2 as (se…...
![](https://img-blog.csdnimg.cn/direct/ca1ef6c1500e402db8c79961d316839a.png)
Nginx-Rewrite
1、Rewrite的定义 rewrite功能就是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在 server { }, location { }, if { }中,并且只能对域名后边的除去传递的参数外的字符串起作用。 例如location…...
![](https://img-blog.csdnimg.cn/direct/ed3c754282384a789faa7d7b4b894b7f.png)
2024 年 Python 基于 Kimi 智能助手 Moonshot Ai 模型搭建微信机器人(更新中)
注册 Kimi 开放平台 Kimi:https://www.moonshot.cn/ Kimi智能助手是北京月之暗面科技有限公司(Moonshot AI)于2023年10月9日推出的一款人工智能助手,主要为用户提供高效、便捷的信息服务。它具备多项强大功能,包括多…...
![](https://img-blog.csdnimg.cn/direct/270256cc2a6648f2906f4e919b5e11aa.png)
关于接口多态,何时使用接口名创建对象?何时使用子类创建对象?
接口创建对象只能创建他的实现类,所以会出现两种创建方式: 1、接口 对象名 new 类名 2、子类对象 对象名 new 类名 举个例子,swimming是一个接口,flog是他的一个实现类,重写了swimming的eat()方法 子类对象 对象名…...
![](https://img-blog.csdnimg.cn/img_convert/eb23e3fbbd7e7751e216e02267efbc54.jpeg)
短视频热恋进行时:成都柏煜文化传媒有限公司
短视频热恋进行时:情感与创意的碰撞与融合 在数字时代的浪潮中,短视频以其独特的魅力,成为了当代人表达情感、分享生活的新宠。它如同一个浓缩的时空胶囊,将那些瞬间的美好、感人的故事、创意的火花,封装在短短几十秒…...
![](https://img-blog.csdnimg.cn/direct/50e1917d0afd4966bac95ee0288c6e2e.png)
springBoot多数据源使用、配置
又参加了一个新的项目,虽然是去年做的项目,拿来复用改造,但是也学到了很多。这个项目会用到其他项目的数据,如果调用他们的接口取数据,我还是觉得太麻烦了。打算直接配置多数据源。 然后去另一个数据库系统中取出数据…...
![](https://img-blog.csdnimg.cn/img_convert/400981c590bd0740ab37179c5b5f74be.png)
打破安全设备孤岛,多源威胁检测与响应(XDR)如何构建一体化安全防线
在数字化和信息化迅猛发展的当下,安全设备孤岛现象成为网络安全治理中的一大挑战。在多元化的市场环境中,不同厂商的安全设备因数据格式与系统兼容性的差异,导致信息流通受阻、共享困难,形成孤立的安全防线。 安全设备孤岛现象不仅…...
![](https://img-blog.csdnimg.cn/direct/c8e374ee7945461caac7ff0751bdd38c.png)
Android SurfaceFlinger——概述(一)
一、基础介绍 SurfaceFlinger 是 Android 系统中的一个关键组件,负责管理屏幕显示的合成和渲染。 服务角色:SurfaceFlinger 作为一个系统服务独立运行,它不依赖于任何应用程序进程,而是由系统启动并持续运行。窗口管理:…...
![](https://img-blog.csdnimg.cn/direct/88925f8383e342ac966aa34dd4610671.jpeg)
工业 web4.0,UI 风格令人赞叹
工业 web4.0,UI 风格令人赞叹...
![](https://img-blog.csdnimg.cn/direct/8939d548a4e14cf79861d11af83ee11b.png)
HarmonyOS 角落里的知识 —— 状态管理
一、前言 在探索 HarmonyOS 的过程中,我们发现了许多有趣且实用的功能和特性。有些总是在不经意间或者触类旁通的找到。或者是某些开发痛点。其中,状态管理是ArkUI开发非常核心的一个东西,我们进行了大量的使用和测试遇到了许多奇奇怪怪的问…...
![](https://www.ngui.cc/images/no-images.jpg)
TDengine数据迁移
前言 taosdump 是一个支持从运行中的 TDengine 集群备份数据并将备份的数据恢复到相同或另一个运行中的 TDengine 集群中的工具应用程序。 taosdump 可以用数据库、超级表或普通表作为逻辑数据单元进行备份,也可以对数据库、超级 表和普通表中指定时间段内的数据记录…...
![](https://img-blog.csdnimg.cn/direct/2f46e040403c495b884a26d3069f5db6.png)
使用ZIP包安装MySQL及配置教程
在本教程中,我们将指导您完成使用ZIP包安装MySQL的过程,并对配置文件进行必要的修改,以及解决可能遇到的问题。本示例以MySQL 5.7.44为例,但步骤同样适用于其他版本如MySQL 8.3.0等。请根据实际需要选择适合的版本下载:…...
![](https://www.ngui.cc/images/no-images.jpg)
Java基础入门day64
day64 web项目 数据库设计 在小米商城主页,主要的内容是多种商品类型的展示,分别有手机,智能穿戴,笔记本平板,家电,生活电器,厨房电器,智能家具等大的七个分类,根据这个…...
![](https://img-blog.csdnimg.cn/direct/e54ccb5d3e5747a59db0f699863077e8.jpeg)
高德地图轨迹回放/轨迹播放
前言 本篇文章主要介绍高德地图的轨迹回放或播放的实现过程,是基于vue2实现的功能,同时做一些改动也是能够适配vue3的。其中播放条是用的是element UI中的el-slider组件,包括使用到的图标也是element UI自带的。可以实现轨迹的播放、暂停、停…...
![](https://img-blog.csdnimg.cn/direct/853474a62f4347a68dc53fe3c8067724.jpeg#pic_center)
像素、像素密度、位图和矢量图
像素、像素密度、位图和矢量图 像素 -- 图像元素pt分辨率ppidpi 点阵图 - bitmap常见的类型 矢量图点阵图 vs 矢量图参考小结 像素、矢量图等概念在前端开发中经常遇到,这里做一个简单的梳理。 像素 – 图像元素 做前端开发的经常遇到它。像素是图像的最小单位&am…...
![](https://img-blog.csdnimg.cn/direct/e7b3f326e07641f598110addf152a7ab.png)
第二证券股市资讯:昨夜!全球新“股王”诞生
昨晚,英伟达成全球市值榜首公司。 当地时间6月18日,美股三大指数小幅收高,标普500指数与纳指再创前史新高。标普500指数涨0.25%,道指涨0.15%,纳指涨0.03%。 AI热潮推动英伟达大涨,市值逾越微软、苹果&…...
![](https://img-blog.csdnimg.cn/direct/ceb0e268eefa4acea70860f6802f826e.jpeg)
自动水位雨量站:用于水库防汛预警
TH-SW2自动水位雨量站是一种现代化的监测设备,主要用于水库等水域的防汛预警系统。它通过集成水位和雨量监测功能,为水库的管理和调度提供实时、准确的数据支持。 工作原理: 自动水位雨量站通过内置的水位计和雨量计实时监测水库的水位变化和…...
![](https://img-blog.csdnimg.cn/direct/e2007ed77c374b21bcd08f3af4cc6d98.png)
苍穹外卖---新增员工(P16-P20)
一、需求分析和设计 (1)产品原型 一般在做需求分析时,往往都是对照着产品原型进行分析,因为产品原型比较直观,便于我们理解业务。后台系统中可以管理员工信息,通过新增员工来添加后台系统用户。 新增员工…...
![](https://img-blog.csdnimg.cn/direct/c5c96fe5ad93462d9398410bdab19520.png#pic_center)
Windows10 利用QT搭建SOEM开发环境
文章目录 一. SOEM库简介二. 安装WinPcap三. SOEM(1.4)库安装(1) 编译32位库(2) 编译64位库 四. 运行SOEM示例代码五. WIN10下利用QT构建SOEM开发环境 一. SOEM库简介 SOEM(Scalable Open EtherCAT Master 或 Simple Open EtherCAT Master)是一个开源的…...
![](https://img-blog.csdnimg.cn/direct/babb1d93ad874d93b460c917ff73a124.png#pic_center)
SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件二(补充)
SpringBoot整合H2数据库并将其打包成jar包、转换成exe文件二(补充) 如果你想在cmd命令窗口内看到程序运行,即点开弹出运行窗口,关闭时exe自动关闭。 需要再launch4j上进行如下操作: 这样转换好的exe就可以有控制台了…...
![](http://s3.51cto.com/wyfs02/M01/99/9E/wKioL1lKM6zii0nQAACCo3g8oio809.jpg-wh_651x-s_1878817584.jpg)
国内做性视频网站有哪些/百度开户返点
AMD公司今日发布AMD EPYC™(霄龙)7000系列高性能数据中心处理器,与全球服器生态系统的合作伙伴共同开启数据中心发展的新时代。AMD与众多客户和合作伙伴共同启动了全球发布会,带来了一系列系统和性能演示,以及客户的背书。AMD EPYC采用创记录…...
![](/images/no-images.jpg)
乌兰察布做网站的公司/现在阳性最新情况
1、使用参数化SQL语句进行模糊查找的正确方法://定义sql语句string sql "SELECT StudentID,StudentNO,StudentName FROM Student WHERE StudentName like StudentName";//给参数赋值command.Parameters.AddWithValue("StudentName",txtStudent…...
![](https://img-blog.csdnimg.cn/759beae483b34c5cb8316596a56f8b66.png)
找网站做q币/线上推广策略
代码块概述 ●代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。 ●在ava类下,使用{}括起来的代码被称为代码块。 代码块分为 静态代码块: 格式:static{ 特点:需要通过static关键字修…...
![](/images/no-images.jpg)
景观设计公司排名前十强/百度排名优化咨询电话
目录框架与类库一、重用技术二、框架与类库的主要差别框架与类库 一、重用技术 在区别二者之前,首先需要了解软件开发中的重用(Reuse)技术。 重用技术在软件开发中重要性 IT产业: 减小开发的工作量 缩短软件开发周期࿰…...
![](http://blog.raffaeu.com/images/blog_raffaeu_com/WindowsLiveWriter/WPfandPrismTabRegionAdapterPart02_12F68/SNAGHTML388d63e_thumb.png)
成都网站建设龙兵科技/杭州seo排名公司
原作者:Raffaeu 上一篇文章我们看到,在WPF中创建定制的并重写默认样式的 TabControl 是相当复杂的,但对于扩展其行为还是很简单的。 作为资深开发者,我通常不喜欢: 1) 能够运行即可, 2) 推倒重来但仅仅写了两次相同的代码。那么这…...
![](/images/no-images.jpg)
中交建设集团网站新闻/永久8x的最新域名
MAVEN仓库分类 Maven仓库分为:本地仓库远程仓库两大类 远程仓库又分为:中央仓库私服其它公共远程仓库 1,在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件 2,Maven在某个统一的位置存储所…...