Python - matplotlib - subplot()和subplots()之间的差异

问题描述 投票:1回答:1

我有点新编码,因此在python中这听起来很愚蠢,但是python中matplotlib的.subplot()和.subplots()方法之间的主要区别是什么?

我没有在其他任何地方找到这个解释,在阅读了https://matplotlib.org/的文档后,我推断,使用这两种方法,你可以根据需要创建尽可能多的图形和图形......所以对我来说,它们似乎都是完全相同的,他们只是区别你处理情节,轴等的方式......或者我错了?

顺便说一下,如果它有任何区别,我在jupyter笔记本中使用python3。

python windows python-3.x matplotlib jupyter-notebook
1个回答
3
投票

从matplotlib.pyplot.subplots()上的文档页面:

此实用程序包装程序可以方便地在单个调用中创建子图的公共布局,包括封闭图形对象。

这意味着您可以使用此单个函数创建一个包含多个子图的图形,只有一行代码。例如,下面的代码将返回作为图形对象的figaxes,它是2x3轴对象数组,允许您轻松访问每个子图:

fig, axes = plt.subplots(nrows=2, ncols=3)

相反,matplotlib.pyplot.subplot()仅在指定的网格位置创建单个子绘图轴。这意味着它将需要几行代码来实现与matplot.pyplot.subplots()在上面一行代码中所做的相同的结果:

# first you have to make the figure
fig = plt.figure(1)

# now you have to create each subplot individually
ax1 = plt.subplot(231)
ax2 = plt.subplot(232)
ax3 = plt.subplot(233)
ax4 = plt.subplot(234)
ax5 = plt.subplot(235)
ax6 = plt.subplot(236)

上面的代码可以用循环压缩,但使用它仍然相当繁琐。因此,我建议您使用matplotlib.pyplot.subplots(),因为它更简洁易用。

© www.soinside.com 2019 - 2024. All rights reserved.