在脚本bash中,我是这样做:
1.每隔3分钟,我创建一分钟的二进制数据以获得瀑布。
第一个月
1.然后,我解析met文件,并将.met文件的内容(bin数、扫描数等)与两个变量关联起来:nb_bins和nb_scans。
1.我把我的瀑布创建成一个png图像:
gnuplot -persist << EOF
plot 'plot.bin' binary array=${nb_bins}x${nb_scans} format='%float' with image
set term png
set output 'plot.png'
replot
set term wxt
EOF
字符串
问题是,我的plot.png图像在我的代码第一次启动时被修改(bash script.sh),但随后,我的代码自动运行crontab */my/directory/script.sh,然后图像被更新,没有任何内容(大小为0字节)。而我的文件plot.met和plot.bin刷新没有任何问题。
我已经尝试了不同的方法:使用gnuplot -e“”代替gnuplot persist,不使用set term wxt,尝试不同的crontab时间,杀死gnuplot进程,但是没有任何效果,我也没有其他的想法。
1条答案
按热度按时间f8rj6qna1#
在不知道你的详细安排的情况下,这里有一个让gnuplot在无限循环中运行的建议(你可以通过按
x
停止)。我的默认终端也是wxt
。示例脚本将每秒绘制一个函数,其中包含一些随机因子和随机颜色,这只是为了说明目的。请将其替换为plotting命令。
我不确定你是否需要一个PNG来做其他的事情,或者仅仅在wxt终端中显示图形是否就足够了。
实际上,我在实验室中有一个简单的设置,程序每分钟将温度和湿度附加到一个每日文件中,我完全独立地运行gnuplot,让它每分钟显示文件的内容。
我不确定这是否解决了你的问题。
脚本:
字符串
结果:(wxt终端截图)
的数据
添加:
如果您只需要从当前可用的数据创建PNG文件,请创建脚本文件,例如
plot.gp
型
我不会使用
-persist
(这可能会引起你的问题),但是gnuplot会一次又一次地开始和结束。型