gpt4 book ai didi

python - plt.plot(x,y) 和 plt.show() 如何工作?

转载 作者:行者123 更新时间:2023-11-30 22:29:07 29 4
gpt4 key购买 nike

我想知道ma​​tplotlib.pyplot的plt.plot(x,y)plt.show()命令之间进行的基本 Backbone 流程

详细说明一下,这段代码:

plt.plot(x , y)
plt.show()

显示所需的图表(没问题)。

另外,代码:

plt.plot(x , y)
plt.plot(p , q)
plt.show()

也能正常工作。 它显示了由列表 x & y 和 p & q 创建的两个图。

现在我发现在 ipython 中动态编码时非常有趣的东西。

In [73]: plt.plot(x , y)
#normal plotting function.
In [78]: plt.show()
#shows a graph as intended.
In [79]: plt.show()
#shows nothing.

现在,无论我调用 plt.show() 多少次(在调用一次之后),它都根本不显示图形。 为什么会这样?

PS:据我了解,在此过程中可能会创建和删除一个对象。但我既不确定也不相信。

提前致谢。

最佳答案

Pyplot 使用或者是所谓的“状态机”。它存储许多图形以及对当前轴和图形的引用。一旦调用 show,所有图形都会显示,一旦 show 返回,它们就会从状态机中删除。

在随后调用 show 时,不再显示任何数字,因此不会显示输出。

因此,有一些(可能是不成文的或隐含的)假设:show 在脚本中只被调用一次。

值得注意的是,尽管图形已从状态机中删除,但它们仍保留在内存中,直到关闭为止。因此,它们可以在某些情况下并根据所需的工作流程重复使用。

关于python - plt.plot(x,y) 和 plt.show() 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46450731/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com