首页 > 解决方案 > 如何在 matlab 中制作我的图像图的颜色条以获得离散值,而不仅仅是为我的部分数据提供颜色

问题描述

我正在用 matlab 中的图像图绘制一个具有降雨强度的矩阵。

我希望颜色条显示 0-10、10-20... 到 90-10 的不同颜色。

我已经尝试了surf(10)获取 10 种离散颜色的函数,但随后只显示了 10 的值。

这是我使用的代码:

image(pr20020719T0730)
cmap = jet(10);
colormap(cmap);
colorbar

这是图像在代码之后的样子

标签: matlabmatlab-figure

解决方案


与 不同imshow的是,该image函数将CDataMapping图像对象的属性设置为'direct'。阅读 MATLAB文档了解更多详细信息。这就是影响结果的方式:

% 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)

在此处输入图像描述


推荐阅读