【问题标题】:how to change a gnuplot colorbox using custom colors如何使用自定义颜色更改 gnuplot 颜色框
【发布时间】: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


    【解决方案1】:

    在 gnuplot 中创建调色板非常简单,有很多方法。看看help palette。其中你有defined 模式:

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

    要重新缩放到适当的范围,您可以使用

    set cbrange [your_min_value : your_max_value]
    

    您可以查看github project 中的许多示例

    【讨论】:

    • 我很难过。这是完美的,如此优雅!我立即使用了一些我自己的颜色,并完全按照我想要的方式使用。我确实遇到了 gnuplotting.org 网站,但我找不到我要找的东西。 github 站点正确地演示了所需的内容。非常感谢!我确实有另一个关于背景图像颜色失真的问题,但我会在另一个问题中发布,希望你能再次阐明这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多