MATLAB热力图自定义颜色范围
时间: 2025-02-26 07:08:19 浏览: 93
### 如何在MATLAB中创建热力图并自定义颜色范围
为了在 MATLAB 中创建带有自定义颜色范围的热力图,可以调整 `heatmap` 函数中的参数来实现这一目标。下面展示了具体的实现方法。
#### 定义数据集
首先生成一个随机的数据矩阵作为示例数据源:
```matlab
data = rand(10, 10);
```
#### 创建基础热图
接着基于上述数据构建初始版本的热图,并指定配色方案以及开启颜色条显示功能:
```matlab
figure;
h = heatmap(data, 'Colormap', parula, 'ColorbarVisible', 'on');
title('Heatmap with Custom Color Range');
xlabel('X-axis');
ylabel('Y-axis');
set(gca, 'FontSize', 12);
```
#### 自定义颜色映射表
通过修改 `caxis` 属性来自定义颜色范围。这里设置最小值为 `-1` 和最大值为 `1` 的固定区间为例:
```matlab
% 设定颜色轴限值
caxis([-1 1]);
colorbar; % 更新颜色条以反映新的色彩比例尺
```
如果希望进一步细化控制,则可以通过设定特定的颜色断点数组给 `colormap` 来达到目的。例如,创建一个线性渐变从蓝色到红色经过白色的调色板:
```matlab
customColors = [linspace(0, 1, 64).' linspace(0.5, 0, 64).' zeros(64, 1)];
colormap(customColors);
% 或者使用内置函数生成更复杂的调色板
customMap = colormap(jet(256)); % 获取 jet 调色板
newLimits = [-2 2]; % 新的颜色界限
oldRange = diff(caxis());
newRange = diff(newLimits);
adjustedMap = interp1(linspace(min(caxis()), max(caxis()), size(customMap, 1)), ...
customMap, linspace(newLimits(1), newLimits(2), size(customMap, 1)));
colormap(adjustedMap);
caxis(newLimits);
```
以上操作允许用户灵活地根据实际需求定制化热图的颜色表示方式[^1]。
阅读全文
相关推荐


















