3

時間と値の 2 つの列を含むデータ系列と、データの取得方法を示す整数を含む追加の列があります。例えば

0 15.1 0
1 20.2 0
2 34.3 1
3 41.5 2
4 61.7 1
5 79.6 0
6 48.2 0
7 92.1 1

今、私は通常、最初の2列をプロットします

plot "data" u 1:2 w l

しかし、3列目に同じ値を持つ2つの連続するレコードが同じ背景になるように、3列目を使用してグラフを垂直線で「分割」したいと考えています。3 列目の各値には、単一の背景色が関連付けられています。

上記のデータの場合、プロットには、たとえば、時刻 0 から時刻 2 (排他的) までは青色の背景列、2 から 3 までは緑色の背景列、3 から 4 までは赤色、再び緑色になります。 4 から 5 など。

別の解決策 (私が実際に好むかもしれない) は、3 番目の列の値がその値を切り替える垂直線を持ち、グラフの各領域には 3 番目の列の値に対応するラベル (上部の軸など) があります。桁。

何か案が?ありがとう!

EDIT:私が取得したいものの例に従います。3 番目の列の値が一番上に配置されます。

垂直線による分割プロット

4

1 に答える 1

2
top=100
set yrange [:top]

unset colorbox
set style fill solid 1.0
set palette defined (0 "blue",1 "green", 2 "red")

plot "data.dat" u ($1+.5):(top):3 w boxes lt palette,"" u 1:2 w l lc -1 lw 2

set palette3 番目の列に対応する色を定義します。.5ヒストグラムはその中心値を中心に配置されるため、シフトです。

于 2014-07-06T00:47:10.770 に答える