Matplotlib Spyder交互式绘图:等待绘图关闭以继续

Matplotlib Spyder交互式绘图:等待绘图关闭以继续,matplotlib,spyder,interactive,Matplotlib,Spyder,Interactive,我使用Spyder使用windows,我使用matplotlib打印。我的问题是,我想做交互式绘图(或有时绘制很多东西),我希望spyder等待我关闭图形以继续代码(与传统终端相同) 我试过了 plt.ion(), %mpl-TkAgg 在加载matplotlib、Ipython和python控制台之前。。。我找不到任何解决办法 如果你想要一个例子,目标是“hello”只在我关闭图形时打印,在Windows10上使用Spyder import matplotlib.pyplot as plt p

我使用Spyder使用windows,我使用matplotlib打印。我的问题是,我想做交互式绘图(或有时绘制很多东西),我希望spyder等待我关闭图形以继续代码(与传统终端相同)

我试过了 plt.ion(), %mpl-TkAgg 在加载matplotlib、Ipython和python控制台之前。。。我找不到任何解决办法

如果你想要一个例子,目标是“hello”只在我关闭图形时打印,在Windows10上使用Spyder

import matplotlib.pyplot as plt
plt.figure('Close me to get hello')
plt.plot(0,0,'*')
plt.show()

print("hello")

当我运行代码时,plot窗口阻止后续代码执行的期望行为已经存在。所以我想还有一些其他的设置。出于这个原因,我也无法测试以下内容,但我认为您需要在调用
show
之前关闭交互模式

import matplotlib.pyplot as plt
plt.ion() # turn interactive on, if it isn't already
plt.figure('Close me to get hello')
plt.plot(0,0,'*')
plt.draw()
# possibly do other stuff that would make the use of interactive mode useful

plt.ioff() # turn interactive off
plt.show()

print("hello")

您需要通过转到停用Spyder的Matplotlib支持

工具>首选项>IPython控制台>图形

并取消选择名为

激活支持

然后您需要像这样更改代码

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
plt.figure('Close me to get hello')
plt.plot(0,0,'*')
plt.show()

print("hello")
在创建绘图之前手动设置后端(
TkAgg