我希望在程序运行时绘制数据并在Python中查看图形,因此,当数据发生变化时;执行循环时和程序完成执行之前。我正在运行遗传算法,我想查看每一代的统计数据,以及每一代完成时和下一代开始之前。有人知道我可以使用的东西吗?感谢。
答案 0 :(得分:0)
这实际上取决于您的环境。
如果它是基于网络的(或者即使本地主机服务器+浏览器没问题),那么将您的数据发布为JSON并使用例如javascript进行绘图。 http://www.flotcharts.org/
如果您想使用matplotlib与其他绘图需求保持一致,那么How to update a plot in matplotlib?会涵盖您的问题并得到很好的解答。
最后,您可以选择制作自己的用户界面,在这种情况下,SVG,SDL,GTK +,Cairo都是有效的选项。
答案 1 :(得分:0)
要添加到目前为止所说的内容,您可以使用matplotlib.animation。使用散点图here进行了很好的演示。 关于删除句柄,你可以像这个一样简单
import numpy as np
import matplotlib.pyplot as plt
h = None
for i in range(3):
data = np.random.rand(100,2)
if h is not None:
h.remove()
h, = plt.plot(data[:, 0], data[:, 1], 'oy')
plt.pause(1)