我有一个应用程序,它将数字打印到stdout。是否有一种简单的方法可以使用任何命令行绘图工具(gnuplot)来生成图像的实时图?
您可以将数字重定向到文件,并使用gnuplot的重读命令或在绘图窗口中手动按e
定期读取文件。
shell$ command > points.dat
在gnuplot
gnuplot> plot "points.dat" using 1:2
并按窗口上的e
进行更新,或查看示例
gnuplot> help reread
您可以使用plotti.co将您的绘图导出到网络中,如下所示:
<program> | xargs -L1 sh -c 'wget -q -O /dev/null http://plotti.co/4134314?d=$0'
你会在地址http://plotti.co/4134314/plot.svg现场观看
免责声明:我是plotti.co的创建者
我正是为了这个目的写了livechart。它基于matplotlib,通过stdin
接受带有数字数据的数字或JSON对象。
sudo pip install livechart
请注意,建议使用Python2.7,因为matplotlib在3.x下不适合我。此外,您可能需要安装C ++编译器来构建matplotlib(Debian上的sudo apt-get install g++
)。
我强烈推荐ttyplot,你可以直接在终端建立实时图表,从STDIN读取数据