首页 > 解决方案 > 如何强制 Spyder 等待交互式绘图,直到我手动关闭它?

问题描述

我正在使用 Spyder 4 在 Python 中绘图。我最近从另一个 IDE 移出,在该 IDE 中调用plt.show()会导致当前图形与 matplotlib 的漂亮交互式图形 gui 一起显示。它会等到我手动关闭图形后再继续执行代码。我想要 matplotlibs gui(因此我对 Spyder 的内联绘图不感兴趣),并且 Spyder 不会等待plt.show(). 相反,它只是绘制所有内容并立即移动,所以我有积压的绘图窗口可以通过拖网找到特定的情节。

我在 Spyder 的 Preferences>IPython Console>Graphics 选项卡中的当前设置已Activate Support选择和Backend: Automatic.

例如,我希望下面的代码一个一个地绘制 50 个图,其中序列中的下一个仅在我关闭前一个时出现。

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-10, 10, 201)

for n in range(50):
    plt.plot(x, n*x)
    plt.show()

我一直在寻找这个问题的重复项,但是这个问题(Spyder 交互式情节:等待情节关闭以继续)对我不起作用,其他人都没有令人满意的解决方案。

标签: pythonmatplotlibplotspyder

解决方案


推荐阅读