【问题标题】:gnuplot every command with different lines color and legendgnuplot 每个命令都有不同的线条颜色和图例
【发布时间】:2021-08-10 23:39:50
【问题描述】:

假设我有这个示例数据文件

1 2
2 3
3 4

1 5
2 6
3 7

1 8
2 9
3 10

如果我运行这个命令,现在在 gnuplot 中

pl 'test.dat' u 1:2 every :::0::2 w l

它为数据文件中的每个块绘制三行,但无法区分哪一行来自哪个数据块。我希望这三行具有三种不同的颜色和不同的图例标签。除了every 命令,我还能这样做吗?

【问题讨论】:

    标签: plot gnuplot gnuplot-iostream


    【解决方案1】:

    当然,有多种方法可以实现这一目标。如果你坚持在块之间有一个空行并使用every,你可以迭代地绘制:

    plot for [i=0:*] 'test.dat' u 1:2 every :::i::i w l lc i

    或者,如果你用两个空行分隔你的数据块,你可以使用索引:

    1 2
    2 3
    3 4
    
    
    1 5
    2 6
    3 7
    
    
    1 8
    2 9
    3 10
    

    plot for [i=0:*] 'test.dat' index i u 1:2 w l lc i (也允许使用快捷方式i i 而不是index i,但难以阅读)

    或者没有迭代,但使用伪列 -2(它为您提供索引号)。请注意,gnuplot 不会在用空线分隔的点之间绘制连续线,因此不需要 every 命令。

    plot 'test.dat' u 1:2:-2 w l lc variable

    自动生成,不同的标签可以通过以下方式制作:

    plot for [i=0:*] 'test.dat' i i u 1:2 w l lc i t sprintf('This is block %d', i)

    【讨论】:

      猜你喜欢
      • 2012-07-24
      • 1970-01-01
      • 1970-01-01
      • 2017-07-26
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      相关资源
      最近更新 更多