Matlab调整热图轴和颜色
我正在尝试创建一个我不太熟悉的热图。我有一个大矩阵的形式:Matlab调整热图轴和颜色,matlab,Matlab,我正在尝试创建一个我不太熟悉的热图。我有一个大矩阵的形式: 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); 我还注意到,在“热”颜色贴图中,小数字非常暗,大数字是白色。有没有办法扭转这种局面?这里是一个
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);
我还注意到,在“热”颜色贴图中,小数字非常暗,大数字是白色。有没有办法扭转这种局面?这里是一个良好的开端:
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)
:
使用该函数生成颜色贴图,并使用以下方法将其倒置: 默认情况下,这将生成64种颜色。如果要指定不同的数字,例如128,请使用
colormap(flipud(hot(128)))
colormap(flipud(hot))
。您可能还希望为轴添加一个颜色条
,您可以对矩阵进行索引,类似于data=One(2:end,2:end);然后定义你的两个轴,然后用这些轴值绘图。@Luis Mendo,你应该把它作为一个答案来写,尽管它很短,但在我看来它仍然是最好的答案。
colormap(flipud(hot))
colormap(flipud(hot(128)))