gpt4 book ai didi

python - 我可以在 python 交互模式下有多个 matplotlib 绘图窗口吗?

转载 作者:太空狗 更新时间:2023-10-30 02:19:06 24 4
gpt4 key购买 nike

长期使用Matlab/octave,正在过渡到NumPy/SciPy。我发现 matplotlib 和 Matlab 中的图形绘制非常相似,而且易于使用。

但是,我对 matplotlib 感到不舒服的一件事是,当我使用 plt.show() 绘制图形时,进程会卡在那里,因此我无法输入任何新命令,也无法启动另一个窗口在关闭该窗口之前绘制另一个图形。例如,如果我们键入以下代码,则在关闭此窗口之前,我们不能键入任何新命令,也不能为另一个绘图启动另一个窗口。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()

此行为与 Matlab 绘图有很大不同。在 Matlab 交互模式下,我们可能有多个图形窗口。

我们可以在 python 交互模式下做同样的事情吗?

最佳答案

在 IPython 中运行 %matplotlib无需将任何内容导入交互式命名空间即可启用 matplotlib 交互式支持。然后运行 ​​plt.figure() 立即打开一个新的绘图窗口,plt.imshow() 用图像填充它,而 plt.plot() 对表格数据执行相同的操作,所有这些都不会阻止控制台交互。

启用 matplotlib 交互模式后,它可以运行 plt.show(),即使不设置 block=False,它也不会阻止任何东西,这会导致 IPython 在非交互模式下致命挂起。

%pylab还启用了 matplotlib 交互式支持,但它加载了太多导入,因此不推荐使用。

使用“%run”执行的外部脚本-i' 在 IPython 的命名空间中运行,如果在那里启用,将具有交互式绘图支持。

有关 matplotlib 交互模式的更多信息,请参阅 What is interactive mode?Plotting with mathplotlib in IPython .

关于python - 我可以在 python 交互模式下有多个 matplotlib 绘图窗口吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32238577/

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