Gnuplot:键绑定不起作用

时间:2015-12-10 15:49:04

标签: bash loops gnuplot exit key-bindings

我有一个调用gnu绘图脚本的bash脚本:

#!/bin/bash
rm plot.dat

writedata() {
for i in {1..10}; do

    cat << EOF > plot.dat
    $i #there is more here but it doesn't matter
    EOF
    sleep 1
    done
}
writedata &
sleep 1
gnuplot -persist liveplot.gnu

这是liveplot.gnu:

ext = 0
bind all q 'ext = 1'
load 'loop.gnu'

这里是loop.gnu

while(!ext) {

 set xrange [0:6]
 set yrange [0:6]
 set cbrange [0:10]
 unset key
 set palette defined (0 0 0 0.5, 1 0 0 1, 2 0 0.5 1, 3 0 1 1, 4 0.5 1 0.5, 5 1 1 0, 6 1 0.5 0, 7 1 0 0, 8 0.5 0 0)
 set view map

 set pm3d interpolate 15,15

 splot "plot.dat" matrix with pm3d
 pause 1
}

但是,它不能按预期工作。我需要的是循环继续,直到用户按下“q”按钮。但这种方式它永远运行,我需要杀死bash脚本来停止循环。 如果我打电话

bind q

它告诉我

q            * `ext = 1'

这似乎对我来说。但是,如果我打印ext,它总是为0。

我需要在这里更改什么?我尝试了其他各种方法来重读等等,但无法让它发挥作用。

谢谢!

0 个答案:

没有答案