データの段落分け, every

段落に分けることで異なるデータを一つのファイルに含めることができる. 段落は 1 つの空行で区切る. 段落は block と呼ばれる. 空行を除いた行を point (または column) と呼ぶ.

index もこれとよく似たが異なるデータフォーマットに対した操作を提供している.

Data Format

# data1
x1 y1
x2 y2
x3 y3

# data2
x1 y1
x2 y2
x3 y3

every keyword

plot ... every {<point_incr>}
    {:{<block_inr>}
    {:{<start_point>}
    {:{<start_block>}
    {:{<end_point>}
    {:{<end_block>}}}}}}
paramsdefaultvalueexplanation
point_incr1(int) index読む point (行) のステップ
block_inr1(int) index読む block のステップ
start_point0(int) index読む point の最初 (0-indexed)
start_block0(int) index読む block の最初 (0-indexed)
end_pointlast(string)読む point の最後
end_blocklast(string)読む block の最後

例えば、 1 番目のブロック (0-start) のみ指定するには every :::1::1 とする (何度も言うがこれなら index の方が分かりやすいし良い).

Example

Source Code

plot 'blocks.dat' every :::0::0 lc rgb "#0000ff" w lp title 'data1' ,\
     'blocks.dat' every :::1::1 lc rgb "#00ff00" smooth bezier title 'data2'

Data (blocks.dat)

# linear
0 0
1 2
2 4
3 6
4 8
5 10

# exp
0 1
1 2
2 4
3 8
4 16
5 32

Result