2014/07/31

gnuplotのpm3dで色を変更する

pm3dで描画した図の色がどぎついと言われてしまったので変更を試みる.

set pm3d map
set isosamples 50
set size sq
unset key
set palette rgbformulae 36,0,-36
splot [-3:3] [-3:3] x*x+y*y-9

こんな感じで青から,黒,赤と正負の値を描けるようになります.
が,クセモノはこの rgbformulae の数字.

デフォルトのまま描画する(set palette しない)とこんな色.
gnuplot> show palette
        palette is COLOR
        rgb color mapping by rgbformulae are 7,5,15
        figure is POSITIVE
        all color formulae ARE NOT written into output postscript file
        allocating ALL remaining color positions for discrete palette terminals
        Color-Model: RGB
        gamma is 1.5

なので,色を反転させようかなと思って,
set palette rgbformulae 15,5,7
としても,全く思ったようにいかないというか,全然違う色になる.
と思ったら,同じ悩みなページ(どせいけいさんき。)を発見.なるほど,rgbformulaeの値をset palette defineの後に得ようというものみたいですが,このページでも指摘されている通り,set palette define だけで私には十分だった.

set pm3d map
set isosamples 50
set size sq
unset key
set palette define (0 "light-green", 1 "yellow", 2 "red")
splot [-3:3] [-3:3] x*x+y*y-9