Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python基础:使用Matplotlib绘制多个图形

Python基础:使用Matplotlib绘制多个图形

作者头像
fanjy
发布于 2022-06-04 01:48:14
发布于 2022-06-04 01:48:14
3.5K00
代码可运行
举报
文章被收录于专栏:完美Excel完美Excel
运行总次数:0
代码可运行

标签:Python,Matplotlib

Python的Matplotlib库是使用最广泛的数据可视化库之一。使用Matplotlib,可以使用各种图表类型绘制数据,包括折线图、条形图、饼图和散点图。

Matplotlib允许绘制单个图表,但也允许以网格的形式一次绘制多个图表。

在本文中,将详细演示如何使用Matplotlib库绘制多个图。

绘制单个图

在展示如何绘制多个图之前,先通过一个演示如何使用Matplotlib绘制单个图的示例,确保掌握了基本原理。在这个例子中,将画一个直线图。

要使用Matplotlib绘图,使用Matplotlib库中的pyplot子模块。

具体来说,要绘制折线图,需要从pyplot模块调用plot()函数,并将x轴和y轴的值列表传递给它。

下面的脚本为正弦函数绘制了折线图,输入值由-100到100之间的50个等距点组成。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
x= np.linspace(-100, 100, 50)
y_sin= [np.sin(i) for i in x]
plt.plot(x,y_sin, 'bo-')

结果如下图1所示。

图1

注意:%matplotlib inline代码段仅适用于Jupyter笔记本。如果不使用Jupyter笔记本,只需在开始绘制图之后添加plt.show()即可。

绘制多个图形

一旦知道怎么做,就可以绘制多个图了。同样,Matplotlib允许以网格的形式绘制多个图。有几种方法可以做到这一点:

1.使用subplot()函数

2.使用subplots()函数

使用subplot()函数

要使用pyplot模块中的subplot()函数绘制多个绘图,需要执行两个步骤:

首先,需要使用三个参数调用subplot()函数:(1)网格的行数,(2)网格的列数,以及(3)用于绘图的位置或轴。例如,subplot(2,3,1)告诉Python解释器,下一个图应该绘制在包含2行和3列的网格中,并且该图应该出现在网格中的第一个位置(第1行,第1列)。绘图位置的顺序首先从左到右,然后从上到下。这意味着subplot(2,3,4)命令将在网格的第二行和第一列绘制绘图。

在执行subplot()命令之后,只需调用要使用pyplot模块绘图的相应函数或图表类型。例如,下面的脚本使用plot()方法制作折线图。

这个脚本将使用subplot()函数在两行三列的网格中绘制六个折线图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt
import numpy as np
import math
%matplotlib inline
x= np.linspace(-100, 100, 50)
y_sin= [np.sin(i) for i in x]
y_cos= [np.cos(i) for i in x]
y_tan= [np.tan(i) for i in x]
y_log= [np.log(i) for i in x]
y_exp= [np.exp(i) for i in x]
y_sqr= [i*i for i in x]
plt.rcParams["figure.figsize"]= [12,8]
plt.subplot(2,3,1)
plt.plot(x,y_sin, 'bo-')
plt.subplot(2,3,2)
plt.plot(x,y_cos, 'rx-')
plt.subplot(2,3,3)
plt.plot(x,y_tan, 'g*-')
plt.subplot(2,3,4)
plt.plot(x,y_log, 'y<-')
plt.subplot(2,3,5)
plt.plot(x,y_exp, 'g')
plt.subplot(2,3,6)
plt.plot(x,y_sqr, 'r*-')
plt.show()

结果如下图2所示。

图2

使用subplots()函数

使用subplot()函数,需要为每个后续绘图设置位置,而subplots()函数消除了这一要求。

可以使用pyplot模块中的subplot()函数一次设置网格的行数和列数。行数和列数作为整数值传递给subblots()函数的nrows和ncols属性。根据行数和列数,subplot()函数返回AxesSubplot对象的列表。

例如,在下面的脚本中,调用subplots()方法创建一个包含2行3列的网格。下面脚本中的“axes”变量包含控制台上打印的“AxesSubplot”对象列表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt
import numpy as np
import math
x= np.linspace(-100, 100, 50)
y_sin= [np.sin(i) for i in x]
y_cos= [np.cos(i) for i in x]
y_tan= [np.tan(i) for i in x]
y_log= [np.log(i) for i in x]
y_exp= [np.exp(i) for i in x]
y_sqr= [i*i for i in x]
plt.rcParams["figure.figsize"]= [12,8]
fig,axes = plt.subplots(nrows = 2, ncols = 3)
print(axes)
print(axes.shape)
plt.show()

在输出中,可以看到与网格的行和列对应的列表,还可以看到空轴。结果如下图3所示。

图3

下一步是在这些空图表中绘制图表。为此,必须从AxeSubPlot对象列表中选择一项,并使用该对象调用plot()函数。

例如,要在网格的第一行和第一列绘制图,需要访问索引[0,0]处的AxeSubPlot。注意,子绘图的索引编号从0开始。

下面的脚本使用subplot()函数在两行三列中绘制六个折线图。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import matplotlib.pyplot as plt
import numpy as np
import math
x= np.linspace(-100, 100, 50)
y_sin= [np.sin(i) for i in x]
y_cos= [np.cos(i) for i in x]
y_tan= [np.tan(i) for i in x]
y_log= [np.log(i) for i in x]
y_exp= [np.exp(i) for i in x]
y_sqr= [i*i for i in x]
plt.rcParams["figure.figsize"]= [12,8]
fig,axes = plt.subplots(nrows = 2, ncols = 3)
axes[0,0].plot(x,y_sin, 'bo-')
axes[0,1].plot(x,y_cos, 'rx-')
axes[0,2].plot(x,y_tan, 'g*-')
axes[1,0].plot(x,y_log, 'y<-')
axes[1,1].plot(x,y_exp, 'g')
axes[1,2].plot(x,y_sqr, 'r*-')

结果如下图4所示。

图4

注:本文学习整理自wellsr.com,供有兴趣学习参考。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(七)Python绘图基础:Matplotlib绘图
        除了使用scatter函数之外,还可以使用plot函数后加参数'o'来实现,代码如下所示:
小点点
2022/12/12
2.1K0
(七)Python绘图基础:Matplotlib绘图
Matplotlib如何绘制多个子图
https://www.cnblogs.com/chenqionghe/p/12355018.html
派大星的数据屋
2022/04/03
2.4K0
Matplotlib如何绘制多个子图
数据分析 ——— matplotlib基础(二)
在上面的三个面板中分别画出了sin,cos图,前面两个参数分别为x轴, y轴数据。ax2的第三个参数“go--”是matlab风格的绘图,ax3上给出了点的标记maker,这一块是可以自己定义的,可以参考我上一篇文章数据分析 ——数据可视化matplotlib(一)。
andrew_a
2019/09/26
8340
数据分析 ——— matplotlib基础(二)
Matplotlib 绘2D图
Matplotlib 是一个非常简单而又完善的开源绘图库。那么它到底有多简单呢? 基本知识 首先官方文档奉上 下面,我们通过 3 行代码绘制一张简单的折线图。 from matplotlib imp
听城
2018/04/27
2.5K0
Matplotlib 绘2D图
【数据可视化】Matplotlib 从入门到精通学习笔记
如果将文本数据与图表数据相比较,人类的思维模式更适合于理解后者,原因在于图表数据更加直观且形象化,它对于人类视觉的冲击更强,这种使用图表来表示数据的方法被叫做数据可视化。
小小程序员
2022/11/22
5.5K0
【数据可视化】Matplotlib 从入门到精通学习笔记
Python数据分析之matplotlib(基础篇)
在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:
AI异构
2020/07/29
4470
Python数据分析之matplotlib(基础篇)
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
timerring
2022/10/08
2.5K0
Python基础(十二) | 还不会python绘图?两万字博文教你Matplotlib库(超详细总结)
掌握进阶:高级功能、图表定制与地理数据绘制
Matplotlib是一个功能强大的数据可视化库,为数据科学家提供了丰富的工具和功能,可以以直观的方式呈现数据。
一键难忘
2023/12/19
9650
Matplotlib 基础
Matplotlib 是一个 Python 绘图库,可以跨平台生成各种硬拷贝格式和交互式环境的出版品质数据。
iOSDevLog
2019/05/28
2K0
Python数据分析Matplotlib
1.2 使用matplotlib.pyplot中的annotate()函数标注文字
荣仔_最靓的仔
2021/02/02
3.6K0
Python数据分析Matplotlib
Matplotlib光速入门-从安装到常用实战
Matplotlib是Python一个强大的绘图库,搭配NumPy库的使用,可以满足绝大部分的绘图需求,各种你能想到的图表基本都支持,使用代码即可进行绘制,如果画不出来那一定是你的问题(doge)。
唔仄lo咚锵
2022/09/28
7070
Matplotlib光速入门-从安装到常用实战
Python数据分析实战(3)Python实现数据可视化
数据可视化是指将数据放在可视环境中、进一步理解数据的技术,可以通过它更加详细地了解隐藏在数据表面之下的模式、趋势和相关性。
cutercorley
2020/08/31
4.6K0
python通过Matplotlib绘制常见的几种图形
使用matplotlib对几种常见的图形进行绘制 Matplotlib官网 如果想了解更多可查看官网。 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #写了这个就可以不用写plt.show() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 X
Python研究者
2021/08/23
8800
Python数据可视化大全:Matplotlib、Seaborn、Bokeh和Plotly实战指南
数据可视化是数据科学和分析中不可或缺的一部分,而Python中的Matplotlib和Seaborn库为用户提供了强大的工具来创建各种可视化图表。本文将介绍如何使用这两个库进行数据可视化,并提供一些实用的代码示例和解析。
一键难忘
2024/04/18
2K0
超全!40000字 Matplotlib 实战
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
公众号机器学习与AI生成创作
2020/09/22
8K0
超全!40000字 Matplotlib 实战
趋势(一)利用python绘制折线图
折线图用于在连续间隔或时间跨度上显示定量数值,最常用来显示趋势和关系(与其他折线组合起来)。折线图既能直观地显示数量随时间的变化趋势,也能展示两个变量的关系。
HsuHeinrich
2024/11/23
2040
趋势(一)利用python绘制折线图
【Python进阶】带你使用Matplotlib进行可视化
欢迎来到专栏《Python进阶》。在这个专栏中,我们会讲述Python的各种进阶操作,包括Python对文件、数据的处理,Python各种好用的库如NumPy、Scipy、Matplotlib、Pandas的使用等等。我们的初心就是带大家更好的掌握Python这门语言,让它能为我所用。
用户1508658
2019/08/06
1.3K0
python绘图与数据可视化(二)
上一次是于老师要求我做一次备课,讲一节课,上周于老师又自己准备了这个课程,这里放一下于老师课上补充的知识点
十二惊惶
2024/02/28
3790
python绘图与数据可视化(二)
matplotlib入门
MATlAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、量化金融与风险管理、机器人,控制系统等领域。MATLAB在数值计算方面首屈一指,也是使用最广泛的科研绘图软件之一。优点:编程效率高 便于矩阵计算。缺点:循环效率低 封装性不好。
用户2225445
2022/11/12
4.4K0
matplotlib入门
python matplotlib各种绘图类型完整总结
plot([x], y, [fmt], [x2], y2, [fmt2], …, **kwargs)
Twcat_tree
2022/12/05
6K0
python matplotlib各种绘图类型完整总结
相关推荐
(七)Python绘图基础:Matplotlib绘图
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验