2012-08-03 267 views
6

我在文件中有一些X Y Z数据,我使用gnuplot来显示它。 我正在创建一个热图,即。使用颜色呈现Z值的2D图。 现在,我使用下面的脚本:gnuplot热图颜色范围

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

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

如何告诉gnuplot停止重新调整z颜色范围?

回答

9

“设置调色板定义”命令会映射如果使用灰度绘制到调色板上时将得到的灰度值;缩放到min - > 0和max - > 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 

将使用相同的缩放比例,这样他们就可以进行比较。