登录论坛

查看完整版本 : [求助]作一个填色的方块图,对应一个数字矩阵


beamer
2008-10-15, 12:27
假定有一个 5 阶方阵,元素是数字 0、1.

现在想做一个 5×5 的带方格的图,把方格里面填上颜色;填色方式对应于上述矩阵,比如 0 对应红色,1 对应蓝色。

请大家指教,谢谢!

meteora1005
2008-10-16, 18:27
程序免费给你编了,代码和结果如下:
function shiyan(a)
%互补色方格图

b=flipud(a);
n=size(b);
[y x]=find(b);
len=length(y);

figure(1);
for i=1:len
shiyansub(x(i),y(i),'b');
end

[y0 x0]=find(b==0);
len0=length(y0);
for i=1:len0
shiyansub(x0(i),y0(i),'r');
end

set(gca,'XTick',0:n,'YTick',0:n);
grid on;
set(gca,'GridLineStyle','-','YTickLabel',[],'XTickLabel',[]);

%----------------------------------------------------------shiyansub
function shiyansub(x,y,color)

tt=[x x x-1 x-1];
yy=[y y-1 y-1 y];
fill(tt,yy,color);
hold on;
%-------------------------------------------------------------endsub
测试:
a=
0 0 1 1 0 1 1 1 0 0
0 0 1 0 0 1 0 0 1 0
1 1 0 1 1 1 0 1 0 0
0 0 0 0 1 0 1 1 0 1
1 1 0 1 1 1 0 1 0 1
0 1 1 0 0 1 1 1 1 1
1 1 0 1 1 0 1 0 1 0
1 0 0 0 0 0 0 1 1 1
1 0 1 0 1 0 0 0 0 0
1 1 1 0 0 0 0 1 1 0
图:

beamer
2008-10-16, 19:08
谢谢!学习中!