我是自学python,对matplotlib包很迷茫。
绘图时,真的有必要使用下面的代码吗?
fig = plt.figure()
我以为代码是定义一个空的画布,然后我们可以在画布上添加子图,但我也看到很多不包含此代码的情况,直接使用 plt.plot() 或 plt.subplot() 。
作为变量,来自这篇文章:
fig, axes = plt.subplots(nrows=3, ncols=2, figsize=(12, 8))
作为一个论点,从这篇文章
n = len(fig.axes)
任何帮助将非常感激。
可以在不设置任何变量的情况下进行绘图。例子:
plt.figure()
plt.plot([1, 2], [5, 8])
plt.show()
您必须在某处初始化您的图形,因此plt.figure()
. 正如您所指出的,您还可以使用plt.subplots()
:
fig, ax = plt.subplots()
ax.plot([1, 2], [5, 8])
plt.show()
请注意,我们没有设置ncols
andnrows
关键字参数。由于两者的默认值都是1
,我们得到一个轴(这就是我选择变量 name 的原因ax
)。对于n × 1
或1 × n
子图,返回的第二个变量plt.subplots()
是一维数组。
fig, axes = plt.subplots(ncols=1, nrows=2)
axes[0].plot([1, 2], [5, 8])
axes[1].plot([2, 3], [9, 3])
在m × n
子图 ( m, n > 1
) 的情况下,axes
是一个二维数组。
fig, axes = plt.subplots(ncols=2, nrows=2)
axes[0][0].plot([1, 2], [5, 8])
axes[1][0].plot([2, 3], [9, 3])
axes[0][1].plot([3, 4], [5, 8])
axes[1][1].plot([4, 5], [9, 3])
是否使用ax
或axes
作为第二个变量的名称是您自己的选择,但axes
建议有多个轴并且ax
只有一个。当然,还有其他构建子图的方法,如您链接的帖子所示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句