如何在 Matlab 中将数据值映射到 colormap/colobar

How map data values to colormap/colobar in Matlab

我在尝试使我的数据值适应 colormap 强度时遇到了一些麻烦。特别是我想在白色和黑色的对应关系中设置最小值和最大值。我尝试使用 colormap(flipud(gray)) 创建颜色的右比例,但颜色栏显示的限制是 [0,2]。如果我使用 colorbar('Limits',[0,1]) 手动设置限制,颜色栏会正确显示限制,但颜色图现在处于从白色到灰色(而不是黑色)的范围内。如何处理?

颜色图将自动设置为您的数据值。您的数据在 [0 2] 范围内,因此设置为该范围。要做你想做的事,你需要使你的颜色图饱和,这意味着它会在 [0 1] 处从白色绘制到黑色,但它在 [1 2] 处只是黑色。一般来说,这是糟糕的科学,你误导了 reader 关于 surface/image 的实际值。

但是,如果您有真正的理由这样做,那么命令是 caxis([0 1])