从同一数据文件在gnuplot中Splot多行

从同一数据文件在gnuplot中Splot多行,plot,gnuplot,Plot,Gnuplot,我有一份表格里的文件 # Line 1 # x y z x11 y11 z11 x12 y12 z12 .... x1n y1n z1n ( blank row ) ..... # Line N # x y z xN1 y11 z11 xN2 y12 z12 .... xNk yNk zNk 如果我尝试splot这样的文件,gnuplot打算将其作为一个曲面,结果非常糟糕(因为一条线的端点靠近下一条线的端点,而不是第一个点)。如何将它们绘制为

我有一份表格里的文件

# Line 1
# x y z
  x11 y11 z11 
  x12 y12 z12
  .... 
  x1n y1n z1n
  ( blank row )

 .....


# Line N
# x y z
  xN1 y11 z11 
  xN2 y12 z12
  .... 
  xNk yNk zNk

如果我尝试splot这样的文件,gnuplot打算将其作为一个曲面,结果非常糟糕(因为一条线的端点靠近下一条线的端点,而不是第一个点)。如何将它们绘制为不同的线(因为每一行都在不同的文件中)?

坐标的每个连续部分称为
块。两个
由一个空行分隔。(请注意,两个空行分隔了两个数据集,可以使用
索引
)访问这两个数据集)

您可以使用
every
选项选择某一行进行打印:

block = 4
splot 'file.dat' every :::block::block
这将选择第五个
(编号从
0
开始)

要迭代所有可用块,可以使用
stats
命令估计块数:

stats 'file.dat'
splot for [i=0:int(STATS_blank)] 'file.dat'
请注意,文件末尾的一些空格(不分隔块)也会被计算在内,但这对迭代没有问题


当然,您也可以使用迭代变量
i
来选择某个
线型
线型

坐标的每个连续部分称为
。两个
由一个空行分隔。(请注意,两个空行分隔了两个数据集,可以使用
索引
)访问这两个数据集)

您可以使用
every
选项选择某一行进行打印:

block = 4
splot 'file.dat' every :::block::block
这将选择第五个
(编号从
0
开始)

要迭代所有可用块,可以使用
stats
命令估计块数:

stats 'file.dat'
splot for [i=0:int(STATS_blank)] 'file.dat'
请注意,文件末尾的一些空格(不分隔块)也会被计算在内,但这对迭代没有问题

当然,您也可以使用迭代变量
i
来选择某个
线型
线型