wne*_*ort 31 python plot interpreter matplotlib hang
我不确定如何更清楚地说出我的问题.基本上,PyPlot是否仅限于一个实例/窗口?我尝试的任何黑客或变通办法都会导致我的程序冻结或第二个pyplot窗口排队,直到第一个关闭.
Joe*_*ton 58
当然,只是打开一个新的数字:
import matplotlib.pyplot as plt
plt.plot(range(10))
plt.figure()
plt.plot(range(10), 'ro-')
plt.figure(), plt.plot(...)
plt.show() # only do this once, at the end
Run Code Online (Sandbox Code Playgroud)
如果你在默认的python解释器中运行它,这将无法工作,因为每个数字都需要输入gui的mainloop.如果您想在交互式shell中运行,请查看IPython.如果您只是正常运行(即将其放入文件并调用python filename.py),它将正常工作.
使用plt.figure()并使用一定数量的窗口是固定的:
plt.figure(200)
plt.plot(x)
plt.show()
Run Code Online (Sandbox Code Playgroud)
而对于另一个情节,请使用不同的数字:
plt.figure(300)
plt.plot(y)
plt.show()
Run Code Online (Sandbox Code Playgroud)
你的问题的答案是否定的。您可以拥有任意数量的窗口。首先,只需输入
plt.figure(n) #n must be a different integer for every window
Run Code Online (Sandbox Code Playgroud)
为您想要的每一个新人物。其次,写
plt.show()
Run Code Online (Sandbox Code Playgroud)
仅在您想要绘制的所有内容的末尾出现一次(!)。这是两个直方图的示例:
plt.figure(1)
plt.hist(dataset1)
plt.figure(2)
plt.hist(dataset2)
plt.show()
Run Code Online (Sandbox Code Playgroud)