拖放gnuplot的脚本

时间:2016-08-10 10:37:09

标签: gnuplot

我想在gnuplot中绘制一些数据。为了能够绘制它们,我写了一个名为" plot_A.gp"的脚本。在其中我设置了轴值,标签和输出端子 为了不为每个数据文件修改它,我想知道是否有可能使脚本能够处理拖放文件。

作为示例脚本:

set xrange [0 to 100]
set xlabel "x-axis"
set ylabel "y-axis"
set terminal eps
set output %1.pdf
plot %1 using 1:($2*$2) with lines

如何将%1设置为刚刚放入脚本的文件名?

1 个答案:

答案 0 :(得分:1)

请在gnuplot提示符下使用call而不是load执行脚本。 call最多接受10个参数。在gnuplot 5.0之前,这些参数称为$ 0,$ 1,...,$ 9。

在gnuplot 4.6中,您的脚本将如下所示:

datafile="$0"
outputfile="$0".".pdf"
set xrange [0 to 100]
set xlabel "x-axis"
set ylabel "y-axis"
plot "hello" using 1:($$2*$$2) with lines
set terminal eps
set output outputfile
replot
set terminal wxt
set output

由于$2引用了脚本的第三个参数,因此要访问第二列,请使用$$2。或者,您也可以使用1:(column(2)*column(2))

你会这样称呼它。

gnuplot> call "plot_A.gp" "hello"

这将绘制文件中的数据"你好"并创建一个名为" hello.pdf"的pdf。我还将终端重置为wxt,作为最佳做法。

从gnuplot 5.0开始,不推荐使用$ 0,$ 1等。相反,你应该使用特殊变量ARG0,ARG2,...,ARG9。我无法访问gnuplot 5.0。但我认为您只需要使用ARG0代替$0。请您参考How to pass command line argument to gnuplot?

的答案