![](/img/trans.png)
[英]Kivy on raspberry pi 3 error: No module named window x11
[英]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.