这里只是一个补充。
下面的问题是,如果要在图中添加更多子图该怎么办?
如文档中所述,我们可以用来fig = plt.subplots(nrows=2, ncols=2)
在一个图形对象中设置带有grid(2,2)的一组子图。
然后我们知道,fig, ax = plt.subplots()
返回一个元组,让我们fig, ax1, ax2, ax3, ax4 = plt.subplots(nrows=2, ncols=2)
首先尝试。
ValueError: not enough values to unpack (expected 4, got 2)
它引发了一个错误,但是不用担心,因为我们现在看到plt.subplots()
实际上返回了一个包含两个元素的元组。第一个必须是图形对象,另一个必须是一组子图对象。
因此,让我们再试一次:
fig, [[ax1, ax2], [ax3, ax4]] = plt.subplots(nrows=2, ncols=2)
并检查类型:
type(fig) #<class 'matplotlib.figure.Figure'>
type(ax1) #<class 'matplotlib.axes._subplots.AxesSubplot'>
当然,如果将参数用作(nrows = 1,ncols = 4),则格式应为:
fig, [ax1, ax2, ax3, ax4] = plt.subplots(nrows=1, ncols=4)
因此,只需记住将列表的构造与我们在图中设置的子图网格相同即可。
希望这对您有帮助。