我正在通过 gnuplot 中的 shell 脚本绘制多个图形。
图形绘制正确,但无法放大。是否需要设置任何变量?
这是代码:
--- for loop of script starts---
gnuplot -persist <<EOF
set term x11 1
set title "IP : $ip Upstream capacity:$UP_CAP kbps"
plot 'trace-0-dir1.txt' using (\$1-$min1):(\$2-\$1-$mindelay1) with lp
set term x11 2
set title "IP: $ip Downstream capacity:$DOWN_CAP kbps"
plot 'trace-0-dir2.txt' using (\$1-$min2):(\$2-\$1-$mindelay2) with lp
EOF
---for loop ends---
最佳答案
一旦您离开“x11 1”窗口,缩放将被禁用。要重新获得控制权,您应该切换回特定窗口 ( set term x11 1
)。另一个问题是 x11 终端。您应该使用 wxt,它可以使窗口保持事件状态。
您可以通过使用 wxt 终端并分离两个绘图命令来解决您的问题,因此不会离开窗口:
--- for loop of script starts---
gnuplot -persist <<EOF
set term wxt
set title "first"
plot x
EOF
gnuplot -persist <<EOF
set term wxt
set title "second"
plot x**2
EOF
---for loop ends---
这样,您就可以打开两个可缩放的窗口,并且您仍然可以使用您的 shell 变量。
一般来说,你做不是 必须打开控制台才能有事件窗口,只是一个适当的终端。特别是,命令
gnuplot --persist -e 'plot[0:10] sqrt(x)'
如果与 wxt 一起使用,则生成可滚动和可缩放的窗口。尝试
gnuplot --persist -e 'set term wxt; plot[0:10] sqrt(x)'
希望这可以帮助。
关于gnuplot 多个图形不是交互式的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8307204/