在gnuplot绘图文件中使用相对路径

时间:2013-02-16 14:03:54

标签: gnuplot relative-path

在gnuplot指令文件中,是否可以指示数据源文件和输出的相对路径?路径必须相对于gnuplot指令文件路径。

上下文 我有大型数据文件,包含12到50 x-y曲线,我使用PHP脚本和gnuplot处理这些曲线,以便提供数据的漂亮图形视图。使用gnuplot生成视图,对于每个视图,我有一个.csv文件,一个gnuplot绘图指令文件和一个图形。

一切都很好地分类到文件夹中。通常,在文件夹中,图形位于顶层,然后在源/子文件夹中是.csv和gnuplot文件。

有时,我需要略微更改图形。所以我编辑gnuplot文件,然后通过直接调用gnuplot再次绘制它。一切都很好,直到我把文件夹移到别处。我经常这样做。

2 个答案:

答案 0 :(得分:3)

是的,您可以在gnuplot文件中指定相对路径:

set output '../path/to/outputs/output.eps'
plot '../path/to/csv/input.csv'

工作正常。如果要将路径指定为脚本的参数,我建议使用bash包装器:

#!/bin/bash

# argument 1 is path to input
# argument 2 is path to output

gnuplot << EOF
set terminal ...
set output '$2/output'

plot '$1/input1.csv', \
     '$1/input2.csv' ...
EOF

答案 1 :(得分:1)

我偶然发现使用loadpath来加载相对于$HOME的数据:

set loadpath system('readlink -f ~/.gnuplot.scripts')

当然,这适用于un * x系统。