gnuplot wxt 不再工作了

gnuplot wxt not working anymore

我最近升级到 Debian jessie,这意味着我已经从 gnuplot 4.6.0 升级到 gnuplot 4.6.6(问题与 gnuplot 5.0 相同)。

我有 bash 个自动化脚本,并启动 gnuplot 终端。

我正在使用:

gnuplot -persist -e "set title 'Sine curve'; plot sin(x)"

gnuplot -persist <<EOF                                   
set title 'Sine curve'
plot sin(x)
EOF

由于 #751441,终端 wxt 不再由 debian(以及 ubuntu 等衍生产品)分发。

我正在使用终端 qt。它显示情节,但到此为止。 window 是静态的,大多数按钮不起作用。我无法缩放,无法取消缩放,无法显示网格。

如何规避这个?

回答我自己的问题:我花了两次谷歌搜索,试图理解原因,阅读不纠正它的借口,并找到解决方法。

首先,你必须删除 -persist因为它有一个wxt 特殊的工作方式,与 qt 终端的工作方式不同。参见 #1418

其次,你必须在你的情节之后添加 "pause mouse close"。参见 #1418。现在的脚本是:

gnuplot -e "set title 'Sine curve'; plot sin(x); pause mouse close"

现在放大、缩小和显示网格功能正常。

第三,等等,你画的不是窦,而是with lines。像这个例子:

$ gnuplot <<EOF
plot '-' using 1:2 t '' with line
0 0
10 10
e
pause mouse close
EOF

现在,如果您在片段中间的某处进行缩放,您什么也得不到,只有一个空白的屏幕。您需要的是 set clip two 告诉在 ends 未显示时不要剪裁。参见 #1419。所以以下将起作用:

$ gnuplot <<EOF
set clip two
plot '-' using 1:2 t '' with line
0 0
10 10
e
pause mouse close
EOF

最后,我做的是:

  1. 在脚本末尾添加pause mouse close
  2. ~/.gnuplot 文件中添加 set clip two

有了这个,我可以在使用 qt 终端时模仿 wxt 的工作方式。恕我直言,作为基本的最终用户,这应该是默认设置。