繁体   English   中英

在Raspberry Pi上的Gnuplot,绘制到X11终端,如何重新使用相同的X窗口?

[英]Gnuplot on Raspberry Pi, plotting to X11 terminal, how can I re-use the same X window?

我成功地在RPi上用Python绘制了一个X窗口。

python代码收集数据,定期将其添加到CSV文件,并使用以下命令绘制CSV文件:('set terminal gif medium size 1100,600 background“#e7e7ff” \\ n')('set output“ / home / pi / pp /plotdata.gif"\\n')这将覆盖gif,并通过FTP定期将gif文件通过FTP发送。 gif文件通过FTP传输到Web主机,该Web主机引用HTML源代码中的绘图图像。 一切都很好。

问题:我也想从Python程序本地显示该图。 我可以使用“设置端子X11”来执行此操作,但是在程序的每个循环中都会产生一个新的X11绘图窗口。 从python中使用以下命令调用gnuplot:os.system('gnuplot -persist“ /home/pi/pp/plotstuff.gnu”')在生成绘图后,gnuplot在该python程序周期结束,从而使绘图窗口持续存在。 但是每个循环都会产生一个新的绘图窗口。

如何告诉gnuplot绘制到已经打开的X窗口,覆盖该窗口中的前一个图? 我找到了对“设置端子x11 5#5n6#6”的引用,但找不到。

您需要做的是用单个gnuplot替换多个gnuplot命令,然后将python中的数据和命令通过管道传输到其中。 举一个简单的例子,看看这个bash脚本如何完成您想要的事情,创建文件并更新单个窗口。

#!/bin/bash
f(){
    let n=n+1
    cat <<!
set title "plot $n"
set terminal gif medium size 1100,600 background "#e7e7ff"
set output "file$n.gif"
plot "-" with lines
1 $RANDOM
2 $RANDOM
3 $RANDOM
4 $RANDOM
end
set terminal x11
set size 1,1
refresh
!
}

while f
do    sleep 5
done |
gnuplot -

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM