假设我有一个如下所示的文件:
"p = 0.1"
1 1
3 3
4 1
"p = 0.2"
1 3
2 2
5 2
Run Code Online (Sandbox Code Playgroud)
是否有可能使Gnuplot在一个图中绘制这两个数据集,并在每个数据集的第一行给出标题?
mgi*_*son 36
这绝对是可能的,您的数据文件已经是正确的格式.您正在寻找的功能是内置的columnheader(N),它读取第N列顶部的数据并将其用作绘图标题:
plot 'test.dat' i 0 u 1:2 w lines title columnheader(1),\
'test.dat' i 1 u 1:2 w lines title columnheader(1)
Run Code Online (Sandbox Code Playgroud)
可以使用迭代压缩:
plot for [IDX=0:1] 'test.dat' i IDX u 1:2 w lines title columnheader(1)
Run Code Online (Sandbox Code Playgroud)
这是Bruce_Warrior和Ciro Santilli的答案,但没有中间人stats:
# plot.gpi
datafile = ARG1
plot for [i=0:*] datafile index i using 1:2\
with lines title columnheader(1)
Run Code Online (Sandbox Code Playgroud)
该for回路可以在文件中直接遍历所有数据集.它适用于gnuplot 5.0.5,但我不确定何时for获得此功能.它记录在5.0手册中,但没有记录在4.6手册中.
除非线颜色应由消耗的第三个输入列确定linecolor variable(根据Bruce的答案),gnuplot将自动分配不同的颜色和线条样式.在这种特定情况下using 1:2也可以省略.
$ gnuplot --version
gnuplot 5.0 patchlevel 5
$ gnuplot --persist -c plot.gpi test.dat
Run Code Online (Sandbox Code Playgroud)
test.dat 是
"p = 0.1"
1 1
3 3
4 1
"p = 0.2"
1 3
2 2
5 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44876 次 |
| 最近记录: |