我是编码方面的新手,因此是python的新手,这听起来可能有些愚蠢,但是python中matplotlib的.subplot()和.subplots()方法之间的主要区别是什么?
我在其他任何地方都找不到这个解释,在阅读https://matplotlib.org/的文档后,我推断使用这两种方法可以创建任意数量的图形和绘图...因此对我来说,这两种方法似乎都可以是完全一样的东西,它们只是您处理图,轴等的方式不同...还是我错了?
顺便说一句,如果有任何区别,我正在jupyter笔记本中使用python3。
答案 0 :(得分:3)
在matplotlib.pyplot.subplots()的文档页面上:
此实用程序包装器使您可以在一次调用中方便地创建子图的通用布局,包括封闭的图形对象。
这意味着您可以使用此单个功能来创建一个图形,该图形具有仅需一行代码的多个子图。例如,下面的代码将同时返回图形对象fig
和2x3轴对象数组axes
,使您可以轻松访问每个子图:
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(),因为它更简洁易用。