我想知道之间发生的基本骨干流程plt.plot(x,y)
and plt.show()
的命令matplotlib.pyplot.
详细说明一下,这段代码:
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
在脚本中只调用一次。
值得注意的是,尽管图形已从状态机中删除,但它们仍保留在内存中,直到关闭为止。因此,它们可以在某些情况下并根据所需的工作流程重复使用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)