我试图创建一个热图,这是我不太熟悉的东西。我有一个大的表格矩阵:
One=
[0 2 4 6 8
2 1 3 5 6
4 5 8 3 1
6 2 7 4 8
8 3 9 5 4]
我想要创建一个热图,这样最上面的行和最左边的列是轴。到目前为止,我已经做到了:
figure(1)
Plot = One;
colormap('hot');
imagesc(Plot);
我还注意到,在“热”颜色图中,小数字非常暗,而大数字是白色的。有什么办法可以扭转这种局面吗?
发布于 2015-12-04 18:38:17
这是一个很好的开端:
One = ...
[0 2 4 6 8
2 1 3 5 6
4 5 8 3 1
6 2 7 4 8
8 3 9 5 4];
figure();
imagesc(One(1,:), One(:,1), One(2:end,2:end));
get(gca(), 'ydir', 'normal')
colormap(flipud(hot()));
colorbar();
请注意,x&y轴大于数据,因此可能需要排除One(1,1)
。
figure();
imagesc(One(1,2:end), One(2:end,1), One(2:end,2:end));
get(gca(), 'ydir', 'normal')
colormap(flipud(hot()));
colorbar();
发布于 2015-12-04 19:16:48
使用hot
函数生成颜色图,并使用flipud
将其倒转
colormap(flipud(hot))
默认情况下,这会产生64种颜色。如果要指定不同的数字,例如128,请使用
colormap(flipud(hot(128)))
https://stackoverflow.com/questions/34090871
复制相似问题