假定有一个 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
图:
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.