2016-03-29 29 views
1

我正在使用gnuplot來顯示我測試的一些 小型發射器的接收信號強度。如何使用自定義顏色更改gnuplot colorbox

我收集的數據有經緯度和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的(較弱)值,我以顏色 從黃色(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網站 研究示例顯示了許多不同的顏色被使用,但他們似乎都從幾個標準顏色托盤挑選 ,我看不到一個從紅色到黃色到綠色。

最簡單的黑客就是在另一個 程序中製作我自己的colorbox,並將其剪切並粘貼到此colorbox上。

有什麼建議嗎?

回答

2

在gnuplot創建調色板很容易有很多方法。看看help palette。在別人對你有defined模式:

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

重規模適當的範圍內,可以使用

set cbrange [your_min_value : your_max_value] 

您可以在此github project

+0

看看很多例子我難倒。這是完美的,如此優雅!我立即使用了一些我自己的顏色,並按照我想要的方式使用它。我確實遇到過gnuplotting.org網站,但我無法找到我要找的東西。 github網站正確地演示了需要什麼。非常感謝!我還有另一個關於背景圖像顏色失真的問題,但我會在另一個問題上發佈這個問題,並希望你能夠再次闡明這個問題。 – captcha

相關問題