Gnuplot-具有离散颜色方案的贴图(maxcolors?)

Gnuplot-具有离散颜色方案的贴图(maxcolors?),gnuplot,Gnuplot,我想用离散颜色方案和文本颜色描述绘制一张地图 但即使我将maxcolors设置为4,我也会得到6种颜色。我的选择: set title "Lit Map for Point X:5.0, Y:14.0 with Compactness: 61.45415361382562" set terminal pngcairo size 1500,500 set output "img.png" set autoscale fix set size ratio -1 set cbrange [0:3] s

我想用离散颜色方案和文本颜色描述绘制一张地图

但即使我将maxcolors设置为4,我也会得到6种颜色。我的选择:

set title "Lit Map for Point X:5.0, Y:14.0 with Compactness: 61.45415361382562"
set terminal pngcairo size 1500,500
set output "img.png"
set autoscale fix
set size ratio -1
set cbrange [0:3]
set palette maxcolors 4
set palette defined (0 "white", 1 "grey", 2 "black", 3 "blue")
set cbtics ("Free" 0,"Shadow" 1,"Environment" 2,"Placed Obstacle" 3)
plot '-' matrix with image
将maxcolors设置为4的结果&将maxcolors设置为3的结果:


当我将MaxColor设置为4时有什么问题?

设置调色板定义中使用的值仅用作确定渐变的相对值。它们与数据中的绝对值不对应

我想你的问题是你有四种颜色,但只有三段。这似乎给
maxcolors
带来了问题。独立于
maxcolors
设置,您可以按如下方式定义调色板:

set palette defined (0 "white", 1 "white", 1 "grey", 2 "grey", 2 "black", 3 "black", 3 "blue", 4 "blue")
test palette
给你:

因此,稍微调整一下
cbrange
rmargin
以及下面的脚本

set title "Lit Map for Point X:77.0, Y:2.0 with Compactness: 53.70905606592658"
set terminal pngcairo size 1500,500
set output "pic.png"
set autoscale fix
set size ratio -1
set rmargin 10
set cbrange [-0.5:3.5]
set palette defined (0 "white", 1 "white", 1 "grey", 2 "grey", 2 "black", 3 "black", 3 "blue", 4 "blue")
set cbtics ("Free" 0, "Shadow" 1, "Environment" 2, "Placed Obstacle" 3)
plot '-' matrix with image notitle
您得到的结果(见4.6.3):


请包含此绘图的实际数据。您希望您的配色箱是什么样子?您有四种颜色,但只有三段。。。例如
设置调色板定义(0“白色”、1“白色”、1“灰色”、2“灰色”、2“黑色”、3“黑色”、3“蓝色”、4“蓝色”)
而不设置maxcolors怎么样?也许您还需要设置
设置自动缩放cbfix
(取决于您的实际数据)。在最好的情况下,它将如下所示:-链接到包含数据的文件:您建议的方法实际上很有效,谢谢!