MATLAB:改变热图的颜色

时间:2018-02-15 06:17:46

标签: matlab colors heatmap

下面的示例脚本用于创建具有相同色阶限制的四个热图。我这样设置它是为了区分每个热图之间的差异;然而,差异几乎不可察觉。颜色当前设置为一般蓝色范围(浅蓝色至深蓝色)。我该怎么做才能将其改为热/冷配色方案?

cd C:\Users\Aiskya\Desktop\Subjects\total
A = dlmread('avg_data.txt')

cd C:\Users\Aiskya\Desktop\Subjects\total
B = dlmread('avg_data.txt')

cd C:\Users\Aiskya\Desktop\Subjects\total
C = dlmread('avg_data.txt')

cd C:\Users\Aiskya\Desktop\Subjects\total
D = dlmread('avg_data.txt')

minValue = min([A(:); B(:); C(:); D(:)]);
maxValue = max([A(:); B(:); C(:); D(:)]);
HA.ColorLimits = [minValue maxValue];
HB.ColorLimits = [minValue maxValue];
HC.ColorLimits = [minValue maxValue];
HD.ColorLimits = [minValue maxValue];

xvalues =  
{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'};
yvalues = 
{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'};

subplot(2,2,1)
HA = heatmap(xvalues,yvalues,A);
HA.Title = 'A';
HA.XLabel = 'regions';
HA.YLabel = 'regions';
HA.ColorLimits = [minValue maxValue];

总共有4个子图,看起来像上面的线条。所有的热图都显示在" MATLAB热图参考"有一个类似的颜色设置,我无法找到一个特定的属性谈论这个。我很感激帮助!

* Colorbar似乎没有为我做这个伎俩

1 个答案:

答案 0 :(得分:2)

您可以使用Colormap对象的HeatmapChart属性更改使用的颜色映射:

HA.Colormap = parula(64);

(parula是数字的默认颜色图)或

HA.Colormap = hot(64);

要获取MATLAB中所有默认颜色映射的列表,请键入

help graph3d

(滚动到“彩色地图”的位置)。

请注意,在命令提示符下键入HA时,您会看到HeatmapChart对象的一些属性,但不是全部。列表底部是一个显示“显示所有属性”的链接。在那里,您可以找到有关这些热图的所有内容。还提供了更多信息in the documentation