具有不连续梯度的 Gnuplot 热图
Gnuplot heatmaps with discontinuos gradient
我正在绘制一个 NxN 方阵,其数字在 [0,1] 之间。
由于零的数量很多,矩阵看起来大部分是黑色的,但我知道,而且我眯着眼睛可以看到,还有更多的点是彩色的,只是被渐变渲染成深色。
我想使用 "discontinuos" 渐变进行绘图,即将 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
经过更多的研究和试验,红绿灯样式调色板似乎可行,proposed here。
原始调色板:
'Traffic light' 调色板(灰色不平滑的颜色跳跃 = 1/3 和 2/3)。
set palette model RGB
set palette defined (0 "dark-green", 1 "green", 1 "yellow", \
2 "dark-yellow", 2 "red", 3 "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")
我正在绘制一个 NxN 方阵,其数字在 [0,1] 之间。
由于零的数量很多,矩阵看起来大部分是黑色的,但我知道,而且我眯着眼睛可以看到,还有更多的点是彩色的,只是被渐变渲染成深色。
我想使用 "discontinuos" 渐变进行绘图,即将 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
经过更多的研究和试验,红绿灯样式调色板似乎可行,proposed here。
原始调色板: 'Traffic light' 调色板(灰色不平滑的颜色跳跃 = 1/3 和 2/3)。
set palette model RGB
set palette defined (0 "dark-green", 1 "green", 1 "yellow", \
2 "dark-yellow", 2 "red", 3 "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")