gpt4 book ai didi

Matplotlib ion() 函数无法交互

转载 作者:行者123 更新时间:2023-12-03 10:50:33 24 4
gpt4 key购买 nike

我对 Matplotlib 的交互功能有问题。我运行以下程序并收到一个卡住的空图形窗口。

import matplotlib.pyplot as plt
import numpy as np

plt.ion()
x = np.arange(0, 4*np.pi, 0.1)
y = [np.sin(i) for i in x]
plt.plot(x, y, 'g-', linewidth=1.5, markersize=4)
plt.show()

如果我删除了 'plt.ion()' 语句,那么它工作得很好。我使用 IDLE,并且 Matplotlib 版本 1.2.x 包安装在 Python 3.2.2 中。

我希望它是交互式的,但我得到了一个不友好的非交互式窗口。有人可以阐明我所缺少的东西吗?先感谢您。

最佳答案

我撞到这个链接发现here ,这回答了我的问题。

好像是通过plt.ion()开启交互模式后, pyplot 需要暂时暂停,以便它通过 plt.pause(0.0001) 更新/重绘自身.这是我所做的,并且有效!

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> plt.ion()
>>> x = np.arange(0, 4*np.pi, 0.1)
>>> y = [np.sin(i) for i in x]
>>> plt.plot(x, y, 'g-', linewidth=1.5, markersize=4)
>>> plt.pause(0.0001)
>>> plt.plot(x, [i**2 for i in y], 'g-', linewidth=1.5, markersize=4)
>>> plt.pause(0.0001)
>>> plt.plot(x, [i**2*i+0.25 for i in y], 'r-', linewidth=1.5, markersize=4)
>>> plt.pause(0.0001)

如果您在 IDLE 控制台中尝试过,请注意,到目前为止,除了图形窗口卡住并且无法退出之外,所有内容都已显示。要解冻它,请键入以下最后一条语句
>>> plt.show(block=True)

现在可以关闭窗口。

关于Matplotlib ion() 函数无法交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670101/

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