在Python中实时显示结果

时间:2012-04-15 19:17:11

标签: python plot real-time

我有这个程序将以这样的方式求解微分方程组,即每次for循环迭代时产生两个值xi,yi。有没有什么方法可以绘制这些值,因为它们是生成而不是等待计算完成,然后将它们全部绘制出来?

2 个答案:

答案 0 :(得分:0)

您可能需要查看matplotlib(http://matplotlib.sourceforge.net/)或gnuplot.py(http://gnuplot-py.sourceforge.net/)。我在完成后使用这些来绘制数据,但是我没有看到你在生成数据时无法做到这一点的原因。但是,根据循环的执行速度,这可能会降低整个程序的速度。

gnuplot可能不再维护,但我一直在使用它没有任何问题。

答案 1 :(得分:0)

我们假设您的算法如下所示:

import matplotlib

x_list = []
y_list = []
while True:
    xi, yi = compute() # calculates your xi and yi value
    if converged(xi, yi):
        break
    # capture history of your xi and yi
    x_list.append(xi)
    y_list.append(yi)

matplotlib.pyplot.plot(x, y) # create a graph representing x and y