Gnuplot多图不支持交互

4

我正在使用shell脚本在gnuplot中绘制多个图表。这些图表已经被正确地绘制出来,但我无法进行缩放。是否需要设置任何变量? 以下是代码:

---   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---

相关内容:https://dev59.com/7GAg5IYBdhLWcg3wBXOs - Ciro Santilli OurBigBook.com
2个回答

4

当你切换到除“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)'

希望这有所帮助。

1

据我所知,只有在gnuplot控制台仍然活动时,您才能缩放、滚动等操作。也就是说,gnuplot必须仍在运行。

要尝试缩放和滚动,请输入以下序列:

  1. 通过键入gnuplot进入gnuplot控制台
  2. 例如使用plot[0:10] sqrt(x)绘制一个函数。
  3. 在退出gnuplot控制台之前,尝试缩放(Ctrl + 鼠标滚轮)和滚动(鼠标滚轮/Shift + 鼠标滚轮)

如果您运行的是脚本,则可以使用

gnuplot --persist -e 'plot[0:10] sqrt(x)'

你不能再滚动或缩放了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接