在Python中使用Matplotlib画多个绘图,so easy!

2022-01-07 17:37:50 浏览数 (1)

标签:Python,Matplotlib

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

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

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

绘制单个绘图

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

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

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

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

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

绘制多个绘图

可以绘制多个图了。同样,Matplotlib允许以栅格的形式绘制多个绘图,有几种方法可以做到这一点:

1.使用subplot()函数

2.使用subplots()函数

使用subplot()函数

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

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

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

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

使用subplots()函数

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

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

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

在输出中,可以看到与网格的行和列相对应的列表的列表,还可以看到空轴,用黄色突出显示了列表以及网格尺寸。

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

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

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

就这些!

注:本文学习整理自wellsr.com。

0 人点赞