在gnuplot指令文件中,是否可以指示数据源文件和输出的相对路径?路径必须相对于gnuplot指令文件路径。
上下文 我有大型数据文件,包含12到50 x-y曲线,我使用PHP脚本和gnuplot处理这些曲线,以便提供数据的漂亮图形视图。使用gnuplot生成视图,对于每个视图,我有一个.csv文件,一个gnuplot绘图指令文件和一个图形。
一切都很好地分类到文件夹中。通常,在文件夹中,图形位于顶层,然后在源/子文件夹中是.csv和gnuplot文件。
有时,我需要略微更改图形。所以我编辑gnuplot文件,然后通过直接调用gnuplot再次绘制它。一切都很好,直到我把文件夹移到别处。我经常这样做。
答案 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系统。