【发布时间】:2016-03-29 04:57:01
【问题描述】:
我正在使用 gnuplot 来显示一些接收到的信号强度 我正在测试的小型发射器。
我正在收集的数据有纬度,经度和RSSI(收到 信号强度指示器)。
样本数据:
-33.77432033,151.0664296,-49
-33.7743059,151.0665004,-48
-33.77427705,151.0666246,-48
-33.7742775,151.0666962,-47
我在地图上为信号强度值着色的功能是 如下:
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
为了在背景上绘制数据,我在多图模式下使用 gnuplot。
最终生成的图像的一部分如下所示:
但是,图片右侧的颜色框显示的却大不相同 颜色的渐变。由函数决定:
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 网站上的示例 显示使用了许多不同的颜色,但它们似乎都在挑选 它们来自几个标准调色板,我看不到一个从红色到黄色到绿色的调色板。
最简单的 hack 就是在另一个中制作我自己的颜色框 编程并将其剪切并粘贴到此颜色框上。
有什么建议吗?
【问题讨论】:
标签: gnuplot