matplotlib 中关于 fig 和 axes 的基本问题

伊丽莎白

我是自学python,对matplotlib包很迷茫。

  1. 绘图时,真的有必要使用下面的代码吗?

    fig = plt.figure()
    

我以为代码是定义一个空的画布,然后我们可以在画布上添加子图,但我也看到很多不包含此代码的情况,直接使用 plt.plot() 或 plt.subplot() 。

  1. 斧头和斧头有什么区别?我曾经认为两者都是子图变量,但后来我发现轴有时用作变量,有时用作绘图中的参数,例如:

作为变量,来自这篇文章

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()

请注意,我们没有设置ncolsandnrows关键字参数。由于两者的默认值都是1,我们得到一个轴(这就是我选择变量 name 的原因ax)。对于n × 11 × 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])

是否使用axaxes作为第二个变量的名称是您自己的选择,但axes建议有多个轴并且ax只有一个。当然,还有其他构建子图的方法,如您链接的帖子所示。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章