我正在编写一个脚本,一次一个地从多个文件中绘制多个文件。我还想保存与数据文件对应的每个绘图的输出。我们如何为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脚本运行。
任何帮助表示感谢。
答案 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文件存储在不同的输出中。