2016-03-29 24 views
1

私はgnuplotを使って、いくつかの小さな送信機 の受信信号強度を表示しています。カスタムカラーを使ってgnuplotカラーボックスを変更する方法

私が集めているデータには、緯度、経度、RSSI( シグナル強度インジケータがあります)があります。

サンプルデータ:

-33.77432033,151.0664296,-49 
-33.7743059,151.0665004,-48 
-33.77427705,151.0666246,-48 
-33.7742775,151.0666962,-47 

次のように地図上の信号強度の値を着色するMy機能は ある:(強い信号)値について

rssicolor(a) = (-a <= 65 ? (255*65536) + ((-a * (255/65))*256) + 0 \ 
: (((255-(-a*(255/(120-65))))*65536)) + (255*256) + 0) 

(-1から-65)私は赤(FF 00 00)から 黄(FF FF 00)にプロットします。 -65〜-120の(より弱い)値の場合、Iはイエロー(FF FF 00)からグリーン(00 FF 00)までの色で をプロットします。

これまでのところは良い、すべてのこれらの色を使用して、マップ上で正しくプロットされています

plot 'gps-data.txt' using 2:1:(rssicolor($3)) notitle with points lc rgb variable 

私はmultiplotモード以外ではgnuplotを使用した背景の上にデータをプロットするために。

最終結果の画像のセクションは次のようになります

I know, it's not properly aligned

しかしながら、画像の右側のカラーボックスは、色の非常に異なる 勾配を示しています。関数によって決定されます。

set cbrange [-40:-120] 
set cblabel "Signal Strength (dBm)" offset 0.0,0.0 
set zrange [0:1] 
unset xlabel 
unset ylabel 
unset title 
unset xtics 
unset ytics 
set colorbox vertical user origin 0.87,0.1 size 0.02,0.5 
splot '++' u ($1):($2):(cos($1*$2)):($3) with pm3d 
unset multiplot 

私はカラーボックスでのカラースキームを担当してコマンドを変更する(あるいは解釈)に取り掛かるべきかわかりません。私はレッド・ツー・イエロー・ツー・グリーンから勾配でカラーボックスを望んでいた場合

私は色で、別のデータファイルを提供する必要が んか私は何とかそれを得るために、上記のsplotコマンドで 値を変更することができますか?

私はいくつかのgnuplotヘルプファイルを見ましたが、splotコマンドは に多くのヘルプを表示していません。また、gnuplotのウェブサイト の例を調べると、色々な色が使われていますが、それらはすべて標準カラー・パレットの中から をピックしているようですが、赤から黄色、緑色。

最も単純なハックは、別の プログラムで自分のカラーボックスを作成し、このカラーボックスに貼り付けて貼り付けることです。

提案がありますか?

答えて

2

gnuplotでパレットを作成するのはとても簡単です。たくさんの方法があります。 help paletteをご覧ください。とりわけあなたはdefinedモードがあります:適切な範囲に

set palette defined (0 'red', 1 'yellow', 2 'green') 

再スケールには、あなたはあなたが私は困惑しています。このgithub project

+0

に多くの例を見てすることができます

set cbrange [your_min_value : your_max_value] 

を使用することができます。これは完璧でとてもエレガントです!私はすぐに自分の色をいくつか使い、私が望むのとまったく同じようにしました。私はgnuplotting.orgのウェブサイトに出くわしましたが、私が探していたものを見つけることができませんでした。 githubサイトは必要なものを正しく示しています。どうもありがとうございます!私は背景画像の色の歪みに関する別の質問がありますが、私は別の質問にそれを掲示し、あなたは再びその問題についていくつかの光を当てることができると思います。 – captcha