前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python基础:使用Matplotlib绘制多个图形

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

作者头像
fanjy
发布2022-06-04 09:48:14
3.2K0
发布2022-06-04 09:48:14
举报
文章被收录于专栏:完美Excel完美Excel

标签:Python,Matplotlib

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

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

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

绘制单个图

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

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

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

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

结果如下图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()函数在两行三列的网格中绘制六个折线图。

结果如下图2所示。

图2

使用subplots()函数

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

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

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

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

图3

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

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

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

结果如下图4所示。

图4

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档