【问题标题】:Splot multiple lines in gnuplot from the same datafile在 gnuplot 中从同一数据文件中绘制多行
【发布时间】:2013-10-15 14:12:01
【问题描述】:

我有一个表格中的文件

# 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 将其作为一个表面,结果非常糟糕(因为一条线的端点靠近下一条线的端点,而不是第一点)。如何将它们绘制为不同的行(因为每一行都在不同的文件中)?

【问题讨论】:

    标签: plot gnuplot


    【解决方案1】:

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

    您可以使用every 选项选择某一行进行绘图:

    block = 4
    splot 'file.dat' every :::block::block
    

    这会选择第五个block(编号从0开始)。

    要遍历所有可用块,您可以使用stats 命令估计块数:

    stats 'file.dat'
    splot for [i=0:int(STATS_blank)] 'file.dat'
    

    注意,文件末尾的一些空白,不分隔块,也被计算在内,但这对于迭代没有问题。

    当然你也可以使用迭代变量i来选择某个linetype或者linestyle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-02
      相关资源
      最近更新 更多