我在RPi上用Python语言成功地on上传到了一个X窗口。
python代码收集数据,定期将其附加到CSV文件,并使用以下命令绘制CSV文件:('set terminal gif medium size 1100,600 background "#e7e7ff"\n') ('set output "/home/pi/pp/plotdata.gif"\n')这会定期覆盖gif和FTPs gif文件。gif文件通过FTP发送到引用HTML源中的绘图图像的web主机。平安无事。
问题:我还想从Python程序本地显示绘图。我可以通过“设置终端X11”来完成,但是程序的每个循环都会生成一个新的X11绘图窗口。在python中使用os.system('gnuplot -persist "/home/pi/pp/plotstuff.gnu"')调用gnuplot在生成绘图之后,gnuplot将在该python程序周期结束,使绘图窗口保持不变。但是每个周期都会产生一个新的绘图窗口。
如何告诉gnuplot在已经打开的X窗口中绘图,覆盖该窗口中的前一个绘图?我找到了"set terminal x11 5#5n6#6“的引用,但我搞不懂。
发布于 2018-01-27 18:42:01
您需要做的是将多个gnuplot命令替换为一个gnuplot,您可以将来自python的数据和命令通过管道传输到该gnuplot中。作为一个简单的例子,看看这个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 -https://stackoverflow.com/questions/48455649
复制相似问题