替换Gnuplot热图中的颜色(pm3d地图)

时间:2014-03-06 18:39:00

标签: gnuplot

我有几个文件,我想在没有插值的情况下绘制2D(即热图)。数据分为三列(不是矩阵):

#Example data
0 0 1
0 1 -1
0 2 10

1 0 -2
1 1 -0.1
1 2 20

我使用以下命令(版本4.4):

set pm3d map
set palette rgbformulae 22,13,-31
plot "file" us 1:2:($3>=0?0:$3) notitle w image

产生以下图像:

enter image description here

然而,我想要的是:

  1. 确保小于零的所有(第3列)值都将遵循调色板
  2. 确保所有(第3列)值大于或等于零为白色
  3. 颜色条不包含白色
  4. 我希望图片看起来像这样:

    enter image description here

    请注意,这只是一个例子。在我的实际数据中,大于或等于零的值分散在整个数据中。我整个上午一直在玩这个,但还没有找到解决方案。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是通过将这些值设置为NaN

来实现的
set view map
set palette rgbformulae 22,13,-31
plot "file" us 1:2:($3>=0?NaN:$3) notitle w image

此方法仅适用于某些终端(请参阅Transparency for specific values in matrix using Gnuplot while preserving the palette?上的讨论):它至少适用于wxtpdfcairopngcairopng 。它至少与x11postscript一起使用。

4.6.3的结果是:

enter image description here