- not so Frequently Asked Questions - update 2006/04/18
|
|
not so FAQ |
カラーマップを使った3次元表示 (pm3d)3次元カラー表示の色を変えたい.[ver.4] ONLY ! 特に設定しなければ,pm3dは「黒→青→赤→黄」と変化するような配色を用 いて高さを表します.pm3dの配色を変えるには, set paletteコマン ドを用います.それに続くオプションにより,幾つかの色の変え方があります. Z値の最小値が-3,最大値が1となる関数 f(x,y) = (2*sin(x)-1)*exp(-y) を考 え,最小値のときに青,最大値で赤,z=0の高さで白となるように,色を変えて みます. gnuplot> set ticslevel 0 gnuplot> set pm3d gnuplot> set palette defined (-3 "blue", 0 "white", 1 "red") gnuplot> splot (2*sin(x)-1)*exp(-y) with pm3d オプション defined に続けて,設定したいZ値の値と,その高さ での色を与えます.pm3dは,与えられたZ値間で色を補間します.上の例では, Z=-3とZ=0の間で,色は青から白に変化します. この例では,Z=0で背景色と同じになるように設定されています.この様な 配色は,Z値がある値になる領域を図から目立たなくしたい場合に便利です.例 えば密度分布図を平面で表示する際,Z=0となる領域を除外する場合等です.上 の図を平面で表示すると,分りやすいでしょう.負の領域は青,正の領域は赤で ハイライトされた散布図ができます. gnuplot> set pm3d map gnuplot> replot もう一つ別の色変更方法では,オプションとして rgbformulae , それに続けて3つの整数値を与えます.それらの数字は,赤(R)/緑(G)/青(B) に 対して用いられる,ある決まった関数の番号になっています.例えば, rgbformulae 0,0,3 とすると,赤と緑は用いられず,Zの最小値から最大値 までが,黒から青へ直線的に変化するように対応付けられます. 色を変化させる関数は0から36まで,計37個定義されています.上の例だと, 番号3は直線変化に対応しています.gnuplotのdefaultは,7,5,15で,7番の関数 はsqrt(x), 5はx^3, 15はsin(360x)となっています.定義されている関数は, show palette rgbformurae で見ることができます. palette rgbformulae を使って望みの色を得るのは,結構至難の技 ですが,help palette rgbformulaeで,幾つかの例が得られます. 例えば,33,13,10の組合せは「虹」となっていて,以下のような配色です. gnuplot> set palette rgbformulae 33,13,10 gnuplot> splot -x*x with pm3d その他,helpで紹介されている配色は,以下のようになっています. もひとつおまけの虹色. gnuplot> set pm3d map gnuplot> set size square gnuplot> set palette rgbformulae 22,13,-31 gnuplot> splot -(x*x+y*y) from Martin in Czech Republic. Thanks !
|