2014-11-02 140 views
1

我有任意尺寸随机矩阵和欲分配颜色的每个值(随机或不)并绘制与相同的数字矩阵,剧情的矩阵,值颜色

enter image description here

所以到目前为止,我已经做到了这一点,

m = 12; 
n = 8; 
A = randi(5,[m n]); 
Arot = flipud(A); 
pcolor(Arot);figure(gcf); 
for i = 1 : n -1 
    for j = 1 : m -1 
     text(i + .5 , j + .5 ,num2str(Arot(j,i)),'FontSize',18); 
    end 
end 

这给了我这个,

enter image description here

A = 

4  4  4  1  2  1  4  2 
5  2  2  3  2  1  1  2 
1  2  1  4  1  2  5  5 
1  3  5  3  1  4  1  3 
3  4  4  4  3  3  3  4 
2  5  2  2  1  1  2  4 
1  3  1  3  5  5  2  4 
5  1  2  4  1  4  1  2 
2  4  5  5  1  3  5  2 
4  2  2  3  4  3  3  4 
3  5  3  2  4  3  3  1 
1  4  5  3  2  4  3  5 

但你可以看到我已经失去了第一排和A最后一列。

实际上问题开始使用pcolor开始,这给出mxn输入的(m-1)x(n-1)图。

有什么建议吗?

感谢,

+0

@ AnonSubmitter85,是的,但如果我不使用它们失去行列将写出阴谋的一面。 – Rashid 2014-11-02 22:24:59

+0

是的,我注意到当我运行代码时。如果您查看帮助部分,您会看到“在默认着色模式下,'faceted',每个单元格具有恒定的颜色,并且不使用C的最后一行和一列。” – AnonSubmitter85 2014-11-02 22:28:27

+0

@ AnonSubmitter85,这很有趣! – Rashid 2014-11-02 22:33:43

回答

2

我只是填补了母体之前的pcolor,我认为这是你想要的效果。它的工作原理的原因来自于帮助文档的pcolor,其中指出,

在默认着色模式,“刻面”,每个单元都有一个稳定的色彩 和C的最后行和列,不能使用。

m = 12; 
n = 8; 
A = randi(5,[m n]); 
Arot = flipud(A); 
Arot = [ Arot; Arot(end,:) ]; 
Arot = [ Arot, Arot(:,end) ]; 
pcolor(Arot);figure(gcf); 
for i = 1 : n 
    for j = 1 : m 
    text(i + .5 , j + .5 ,num2str(Arot(j,i)),'FontSize',18); 
    end 
end 
+0

+1我永远不会明白为什么使用“pcolor”。'imagesc'对我来说看起来更加自然:-) – 2014-11-03 00:08:16

+0

@LuisMendo'pcolor'可以做的一件事就是正确显示不在直线网格上的图像(你也必须使用'阴影interp')。它速度慢,而且可以用于某些场景。 – AnonSubmitter85 2015-01-05 00:23:01

3

使用imagesc,而不是pcolor解决了这个问题。它还带来一些其他好处:

  • 避免需要flipud;
  • text对象的坐标变成整数值;
  • 轴自动设置为“矩阵”模式,原点位于右上角。

代码:

m = 8; 
n = 6; 
A = randi(5,[m n]); 
imagesc(A); 
for ii = 1:n 
    for jj = 1:m 
     text(ii, jj, num2str(A(jj,ii)), 'FontSize', 18); 
    end 
end 

对于

A = 
    4  5  4  2  4  4 
    5  4  3  4  4  2 
    5  4  1  1  1  3 
    4  3  5  2  5  4 
    1  2  2  2  5  3 
    1  5  2  5  1  3 
    4  3  1  3  3  1 
    3  1  2  4  2  3 

这将产生

enter image description here

+0

谢谢,聪明&整洁。 – Rashid 2014-11-03 06:45:34