1

データファイルには、赤、緑、青の分数を指定する3つの「列」があります。

red     green   blue
0.263   0.914   0.086
0.263   0.914   0.086
0.263   0.914   0.086
1.000   0.571   0.429
1.000   0.571   0.429

これらを使用して、これらの値で描画された他の列をプロットするにはどうすればよいですか?どうやら、次の方法は、splotを使用した3Dプロットでのみ使用できます。

rgb(r,g,b)=<some function code>
plot './data.csv' u 1:2:(rgb($8,$9,$10)) w l rgb variable

これらの値を使用してプロットに色を付ける方法がわかりません。

4

1 に答える 1

3

gnuplotのデモをご覧くださいrgb_variable.dem。対応するデータファイルは次のようになります。

0   0   0   0x000000
255 0   0   0xff0000
255 255 0   0xffff00
255 255 255 0xffffff
0   255 255 0x00ffff
255 0   255 0xff00ff
0   255 0   0x00ff00
#<snip> 
#...
#</snip>

4番目の列は最後の例まで使用されないことに注意してください。つまり、これはほとんどあなたが持っているものです。色を[0-1]の範囲から[0-255]の範囲に変更するための追加の変換がありますが、これは簡単な方法です(255を掛けるだけです)。

scale(x)=x*255
rgb(r,g,b) = int(scale(r))*65536 + int(scale(g))*256 + int(scale(b))
plot './data.csv' u 1:2:(rgb($8,$9,$10)) with lines linecolor rgb variable
#                                                   ^^^^^^^^^ don't forget this:-)
于 2012-12-18T12:51:54.830 に答える