map - gnuplot热图颜色范围

标签 map gnuplot heat

我的文件中有一些X Y Z数据,并且正在使用gnuplot进行显示。
我正在创建一个热图。 2D图,其中Z值使用颜色表示。
现在,我正在使用以下脚本:

set palette defined (0 "blue", 1 "red")
plot "xyz.dat" u $1:$2:$3 w image

我的问题是,gnuplot忽略调色板定义中的0和1。它使用指定的颜色,但根据文件中的最小和最大Z值重新缩放。
这使得很难直观地比较z范围不同的不同图。

如何告诉gnuplot停止缩放z颜色范围?

最佳答案

“设置调色板定义”命令将使用灰度绘制时将获得的灰度值映射到调色板上。缩放到最小-> 0和最大-> 1的方式应该是这样的。如果要使用相同的数据缩放比例绘制一组图,则要使用“set cbrange”命令。例如,

  set cbrange [0:0.5]
  set palette defined (0 "blue", 1 "red")
  splot '++' using 1:2:(sin($1)*cos($2)) w image

给您一个图像图,最大数据值0.5映射到红色,0映射到蓝色。
随后的情节,例如
  splot '++' using 1:2:(0.5*sin($1)*cos($2)) w image

将使用相同的缩放比例,因此可以进行比较。

关于map - gnuplot热图颜色范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790804/

相关文章:

sql - 编写 clojure Honeysql where 子句

3d - gnuplot:如何在 3D 图中使 xy、xz 和 yz 平面不透明/实体?

ruby - 此 gnuplot 代码的正确 Ruby gnuplot (rgplot) 语法是什么?

com - 在 WXS 中,如何引用通过不同组件安装的文件?

ruby - 使用 Ruby 从 CDIP 数据创建光谱热图或强度图

msbuild - 如何在Wix中引用heat.exe生成的wxs文件中的File元素

c++ - 用于从 std::map 的最后 n 个元素创建 std::vector 的惯用 C++

c++ - 如何将 std::map 中的元素数量作为无符号长整数?

Clojure 中的映射和记录相等性

gnuplot - Gnuplot 中 Z 轴标签的位置