总结一下:我想在Python中打开一个框架,能够使用该框架,并且还能够继续使用该终端。
基本上,我想在Python中模仿一些Matlab行为。在Matlab中,你可以这样做:
x=0:10;
y=0:10;
plot(x,y)
并且会出现一个情节,互动,你也可以访问终端来改变事物并做其他工作。
我认为在Python中,如果我正确地进行了线程化,我可以做同样的事情。但是,下面的代码可以控制终端。
from threading import Thread
from matplotlib import pyplot as plt
class ThreadFrame(Thread):
def __init__(self):
Thread.__init__(self)
def setup(self):
my_plot = plt.plot(range(0,10), range(0,10))
fig = plt.gcf()
ax = plt.gca()
my_thread = ThreadFrame()
my_thread.start()
my_thread.setup()
plt.show()
我是否应该采用与线程不同的方式做些什么?或者还有另一种方法可以实现这一目标吗?
答案 0 :(得分:3)
matplotlib对使用plt.show()感到好笑。要获得所需的行为,请查看docs on using matplotlib interactively。好的是,没有必要的线程。
(在您的解决方案中,绘图是在后台准备的,后台线程终止,前景线程保留在plt.show中)
答案 1 :(得分:0)
jtniehof的回答很好。或者,您可以查看Python源代码分发中的pysvr。它允许您连接到正在运行的Python进程并以这种方式获取REPL。