在imagesc中显示每个元素的值

6次浏览(最近30天)
彼得·弗雷泽
彼得·弗雷泽 2021年10月10日
评论道: 彼得·弗雷泽2021年10月11日
我有一个16x16的数组,值在0到40之间。我想使用imagesc来显示它,但是我也想将每个元素的十进制值叠加到其相应的正方形中。最后我将得到一个16 x 16的彩色正方形数组(每个映射),每个正方形的值都是十进制文本。有简单/方便的方法做这件事吗?
如果有一个版本的“disp”,我可以应用到一个图形后imagesc可能工作,但我找不到一个。
谢谢

接受的答案

Chunru
Chunru 2021年10月11日
C = randi([0 40], [16 16]);
热图(c);
Colormap(Jet(512))

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2021年10月11日
有简单/方便的方法做这件事吗?
不。但这是可以做到的。
注意:没有一个文本字体颜色将与所有底层颜色进行对比 - 除非您在不同的Colormap中的Colormap(),如Copper(),您可以找到简单的文本颜色。
A = randi([0 40], 16,16);%样本数据
[R, C] = ndgrid(1:size(A,1), 1:size(A,2));
R = R (:);C = C(:) - 1/4;
%行是Y值,列是X值!
显示亮度图像(一)
瓦尔斯= (:);
Mask = vals <= 20;
文本(C(面具),R(面具),字符串(vals(面具)),“颜色”' w '
文本(C面具(~)、R(~面具),字符串(vals面具(~),“颜色”“k”
一个
一个= 16×16
28 33 29 4 1 22 13 4 7 6 16 27 34 39 7 11 40 14 37 8 14 25 10 12 6 40 0 40 27 28 29日21日6 3 16 31 35 3 31日23日7 18 19 39 40 2 7 6 15 36 7 6 1 5 18 33 27 25 22 14 14 8 16 38 27 7 39 37 11 15 28 1 4 32 8 37 7 38 29 32 0 3 32 34 10 9 1 26日17日17日19 5 15 16 6 9 37 4 13 10 34 23日29日37 36 16 19日26日4 5 19 37 14 23 32 15 5 11 26 37 4 3 14 22 22 27 5 21 6 3316 13 31 23 25 37 33 1 14 5 0 21 6 18 22 2 21 15 11 25 1 18 14 23 9 19 8 19 17 6
1评论
彼得·弗雷泽
彼得·弗雷泽 2021年10月11日
谢谢。我尝试了类似的东西,但看起来热图可能是理想的我的需要。

登录评论。

s manbetx 845


释放

R2021a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!