如何给gnuplot命令行参数

时间:2013-06-05 15:01:37

标签: gnuplot

我正在编写一个脚本,一次一个地从多个文件中绘制多个文件。我还想保存与数据文件对应的每个绘图的输出。我们如何为GNUPlot提供两个参数。例如:示例GNUPlot脚本

set xlabel "a"
set ylabel "b"
set zlabel "c"
set term postscript
set output "??"    #'??' implies variable i.e. take file name from commandline
splot "??" with points,"??" with points    #'??' implies variable i.e. take file name from commandline

此脚本将由另一个生成所需文件名的shell脚本运行。

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:8)

您还可以使用gnuplot的-e命令行选项。请参阅此问题以获取示例:How to pass command line argument to gnuplot?

答案 1 :(得分:-3)

试试这个简单的bash脚本

#!/bin/bash

file="output.png"
infile1="$1"
infile2="$2"

echo "
set xlabel \"a\"
set ylabel \"b\"
set zlabel \"c\"
set term postscript
set output \"$file\"    #'??' implies variable i.e. take file name from commandline
splot \"$infile1\" with points,\"$infile2\" with points    #'??' implies variable i.e. take file name from commandline
" > sample.gp && gnuplot sample.gp

并将其称为./script data.txt data2.txt 您将输出存储在output.png中,并将gnuplot文件存储在sample.gp文件中。

即使每次绘制的文件数量不同,也可以轻松添加更多文件进行绘图。然后,您还可以将.gp文件存储在不同的输出中。