你好,
我正在使用Julia中的PyPlot包,并且遇到了一个问题,但是没有找到解决方案。
基本上,我想在迭代计算期间更新绘图窗口。(我不使用Atom的绘图面板,而是使用带有交互式缩放、平移等控件的外部类似于matplotlib的绘图窗口。)
我的代码大致如下:
import PyPlot
const plt = PyPlot
ax1 = plt.subplot(1,2,1)
ax2 = plt.subplot(1,2,2)
...
while (x < y)
... calculation of x and y...
ax1.plot(x)
ax2.plot(y)
end
这个程序大致按照预期工作:一开始打开一个窗口,里面包含所有子图但没有曲线。一旦计算开始,它会绘制出我的曲线,我就可以看到它们了。目前为止,一切都很好。然而,在计算进行过程中,窗口会被锁定,我无法使用“交互式”工具。一旦迭代完成,它将更新绘图,并执行在“锁定”期间输入的任何操作。但实际上,这就像是在得到响应之前停顿了10秒钟(或更长时间,取决于迭代需要多长时间)。
有没有办法让窗口在计算运行时保持响应,还是这是一个内置的冻结,无法预防?
感谢任何提示,如果这是重复问题,请原谅。
最好, pohly
plt.pause(2)
,这样我就有2秒钟来玩弄我的图表,但是这会锁定计算。因此,要么是Julia在计算,而绘图窗口无响应,要么是绘图窗口响应,而在Julia中运行的计算被冻结。我想要的是Julia在计算时将数据发送到Pyplot,但不会在此过程中锁定绘图窗口。 - pohly