4

我正在编写一个脚本来一次从多个文件中绘制多个文件。我还想保存与数据文件相对应的每个绘图的输出。我们如何将这两个参数都提供给 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 脚本运行。

任何帮助表示赞赏。

4

2 回答 2

8

您还可以使用-egnuplot 的命令行选项。有关示例,请参见此问题:如何将命令行参数传递给 gnuplot?

于 2013-06-05T20:55:34.197 回答
-2

试试这个简单的 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 文件存储在不同的输出中。

于 2013-06-05T15:09:01.483 回答