データの段落分け, 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>}}}}}}
params default value explanation
point_incr 1 (int) index 読む point (行) のステップ
block_inr 1 (int) index 読む block のステップ
start_point 0 (int) index 読む point の最初 (0-indexed)
start_block 0 (int) index 読む block の最初 (0-indexed)
end_point last (string) 読む point の最後
end_block last (string) 読む block の最後

例えば、 2 番目のブロック (0-indexed で 1 ) のみ指定するには every :::1::1 とする (ただしこの程度のルールであれば index の方が容易).

Examples

$data <<EOD
# 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
EOD

plot $data every :::0::0 lc rgb "#0000ff" w lp title 'data1' ,\
     $data every :::1::1 lc rgb "#00ff00" smooth bezier title 'data2'
Gnuplot Produced by GNUPLOT 6.0 patchlevel 0 0 5 10 15 20 25 30 35 0 1 2 3 4 5 data1 data1 data2 data2