gpt4 book ai didi

Python Matplotlib 在被要求绘制第二张图表时挂起(在关闭第一个图表窗口后)

转载 作者:太空狗 更新时间:2023-10-29 20:17:42 25 4
gpt4 key购买 nike

奇怪的行为,我确定是我搞砸了,但我想弄清楚发生了什么:

我正在运行以下代码,使用 matplotlib 创建一个非常简单的图形窗口:

>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
>>> ax = fig.add_subplot(111)
>>> ax.plot((1, 3, 1))
[<matplotlib.lines.Line2D object at 0x0290B750>]
>>> plt.show()

正如预期的那样,我在弹出的新窗口中得到了人们期望的图表,其中包含一条非常简单的蓝线,在 y 轴上从 1 到 3 又回到 1,其中 0、1、2 作为x 轴点(仅作为示例)。现在我关闭图形窗口(使用窗口右上角的十字按钮)。这让我可以控制解释器,然后我重新开始,创建新对象:

>>>
>>> fig1 = plt.figure()
>>> bx = fig1.add_subplot(111)
>>> bx.plot((1, 3, 1))
[<matplotlib.lines.Line2D object at 0x029E8210>]
>>> plt.show()

虽然这一次,我得到一个窗框,里面什么也没有(只有框架,没有白色背景,什么都没有),整个 bang shoot 都挂了。我必须“结束任务”,python 解释器被系统终止,我得到一个命令提示符。 Mac 上的类似行为(除了它确实先绘制图表,然后再挂起)。

所以 Python 和/或 matplotlib 不希望我手动关闭窗口。任何人都知道发生了什么事以及我应该做什么?我想做的是在解释器中尝试不同的情节,显然这种行为无济于事。我知道我可以使用“Ipython -pylab”但是为了学习的兴趣,我想理解上面的错误。

谢谢。

最佳答案

聚会晚了三个月,但我在 matlibplot 文档中发现了使用 draw() 而不是 show() 的建议;前者显然只是渲染当前情节,而后者启动所有交互工具,这似乎是问题的开始。

它在文档中的位置不是很显眼,但这里是链接: http://matplotlib.sourceforge.net/faq/howto_faq.html#use-show

就其值(value)而言,我已经尝试过 pylab.show() 并遇到了与您完全相同的问题,而如果我只想查看输出,pylab.draw() 似乎工作正常。

关于Python Matplotlib 在被要求绘制第二张图表时挂起(在关闭第一个图表窗口后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1219394/

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