问题描述
我正在用matlab中的图像绘图绘制具有降雨强度的矩阵。
我希望颜色栏显示0-10、10-20 ...至90-10的不同颜色。
我尝试使用函数surf(10)
来获得10种离散颜色,但随后仅显示10种值。
这是我使用的代码:
image(pr20020719T0730)
cmap = jet(10);
colormap(cmap);
colorbar
这是代码后图像的外观
解决方法
与imshow
不同,image
函数将图像对象的CDataMapping
属性设置为'direct'
。阅读MATLAB docs了解更多详细信息。这是如何影响结果的:
% create 256x256-matrix with discrete,ascending column values
X = repmat(linspace(0,100,256),256,1);
% first subplot
subplot 121
image(X)
colorbar
% second subplot
subplot 122
image(X,'CDataMapping','scaled')
colorbar
% set colormalt to "jet"
cmap = jet(10);
colormap(cmap)