我需要某种工具来绘制连续的数据流。换句话说,我有一个程序,我们称之为A,运行模拟并输出连续的数字流。由于A是处理器密集型的,因此它可能在专用计算机上运行以进行批处理作业,在家中运行以使用我的图形卡,或者在我们的宠物超级计算机网格中运行。因此,我希望尽可能简单地保持A,它必须只负责计算数字并将它们发送到标准输出或管道。但是我希望看到这些数字出来,所以,在我的桌面上,我需要第二个程序B来观察A的输出并实时绘制它们
所以,这是我的问题:我可以用什么作为B程序?是否可以使用gnuplot,matplotlib或任何其他工具进行调整?我更喜欢一个简单的设置,不需要在一整天的代码中摸索。
提前致谢。
答案 0 :(得分:1)
对于matplotlib,一些非常简单的东西可能如下:
import pylab
plotdata = []
while True:
line = raw_input()
data = line.split()
try:
data = [float(datum) for datum in data]
except ValueError: # no floating point input
continue
plotdata.extend(data)
pylab.plot(plotdata, 'k-')
pylab.show(False)
这将无限循环(直到你点击control-C),并从stdin中吃掉数字。我没有多想,所以它可能缺乏细节,但由于你没有任何东西可以开始,我保持简单。