绘制多个数据文件
第一种方法 - 串联连接
绘制多个数据文件的最简单方法是在 gnuplot 的 plot
命令中插入 for
循环。假设你有后续命名的 N
文件,即
file_1.dat
file_2.dat
file_3.dat
...
file_N.dat
执行命令
plot for[i = 1:N] "file_".i.".dat"
将在同一图表中绘制 file_1.dat
和 file_N.dat
之间的所有文件。
三个数据文件的示例
数据集表
X-轴 | Y-ax file_1.dat | Y 轴文件_2.dat | Y 轴文件_3.dat |
---|---|---|---|
1 |
1 | 1 | 1 |
2 |
2 | 4 | 2 |
3 |
3 | 9 | 6 |
4 |
4 | 16 | 24 |
5 |
5 | 25 | 120 |
命令
set terminal postscript color noenhanced ##setting the term
set output "multiple_files.ps"
set key center ##legend placement
plot [1:5][1:120] \
for [i = 1:3] "file_".i.".dat" \
pointsize 1.3 linecolor i+4 \
title "file\_".i.".dat" \
with linespoint
循环以 for [i = 1:3] "file_".i.".dat"
开始并执行 plot
命令直到它到达 i = 3
。.i.
是连接数。
title "file\_".i.".dat"
已经用\
编写,以使文件名中的 _
符号显示为下划线而不是下标,而 noenhanced
说明符是获得此结果的基础。
最终结果如下所示
第二种方法 - 使用 sprintf
函数
另一个可能的路径是使用 sprintf
函数,该函数与 C 语言 sprintf
基本相同。正确的语法,从 gnuplot 的 5.1 文档是
sprintf("format", x, y, ...)
一个简短的例子将澄清每一个疑问。
file_name(n) = sprintf("file_%d.dat", n)
plot for[i = 1:N] file_name(i) title file_name(i)