具有间断梯度的Gnuplot热图

具有间断梯度的Gnuplot热图,gnuplot,gradient,Gnuplot,Gradient,我正在绘制一个数值在[0,1]之间的NxN平方矩阵 由于大量的零,矩阵看起来大部分是黑色的,但我知道,而且我可以通过眯着眼睛看到,还有更多的点是有色的,只有通过渐变以深色渲染 我希望使用“不连续”渐变绘制,即用黑色为0着色,并仅为任何其他值指定非常明亮、高可见性的颜色 我可以使用强离散或基于范围的梯度,例如: 0 black, (0,0.25) white , (0.25,0.50) yellow, (0.50,0.75) green, (0.75,1] light blue 有什么方法可以达

我正在绘制一个数值在[0,1]之间的NxN平方矩阵

由于大量的零,矩阵看起来大部分是黑色的,但我知道,而且我可以通过眯着眼睛看到,还有更多的点是有色的,只有通过渐变以深色渲染

我希望使用“不连续”渐变绘制,即用黑色为0着色,并仅为任何其他值指定非常明亮、高可见性的颜色

我可以使用强离散或基于范围的梯度,例如:

0 black, (0,0.25) white , (0.25,0.50) yellow, (0.50,0.75) green, (0.75,1] light blue
有什么方法可以达到类似的效果吗

这是我当前的脚本,我已经尝试过一些修改

#!/bin/gnuplot
#
# Plot heat maps
#


unset key
set tic scale 0


set palette defined (0 "black" , 1 "white", 2 "yellow", 3 "red")
set cbrange [0:1]

unset cbtics

set xrange [1:N]
set yrange [N:1] # Not a typo

set term pdf
set output "mat.pdf"

plot 'mat.out' matrix  with image

经过更多的研究和实验,红绿灯样式调色板似乎可以工作

原始调色板: “交通灯”调色板(灰色=1/3和2/3时非平滑颜色跳跃)

更多跳跃:

set palette defined (0 "black", 0 "grey", 1 "white", 1 "yellow", \
                 2 "dark-yellow", 2 "green", 3 "dark-green", \
                 3 "red", 4 "dark-red")
set palette defined (0 "black", 0 "grey", 1 "white", 1 "yellow", \
                 2 "dark-yellow", 2 "green", 3 "dark-green", \
                 3 "red", 4 "dark-red")