2010-07-19 36 views
12

我有一個2D二進制矩陣,我想顯示爲黑色和白色的情節。例如,假設我有一個4×4的矩陣,如下所示:如何將2D二進制矩陣顯示爲黑白圖?

1 1 0 1 
0 0 1 0 
1 1 0 1 
1 0 0 0 

這怎麼可以繪製成黑白矩陣?我的一些輸入二進制矩陣的大小爲100乘9,所以我理想的情況是需要一個可以推廣到不同大小矩陣的解決方案。

回答

14

如果你想使一個縱橫式情節as shown here(帶網格線和黑色和白色方塊),你可以使用imagesc功能,gray colormap,並修改axes properties像這樣:

mat = [1 1 0 1; 0 0 1 0; 1 1 0 1; 1 0 0 0]; % Your sample matrix 
[r, c] = size(mat);       % Get the matrix size 
imagesc((1:c)+0.5, (1:r)+0.5, mat);   % Plot the image 
colormap(gray);        % Use a gray colormap 
axis equal         % Make axes grid sizes equal 
set(gca, 'XTick', 1:(c+1), 'YTick', 1:(r+1), ... % Change some axes properties 
     'XLim', [1 c+1], 'YLim', [1 r+1], ... 
     'GridLineStyle', '-', 'XGrid', 'on', 'YGrid', 'on'); 

而這裏的圖像,你應該得到:

enter image description here

1

嘗試spy函數也許開始。

4

我不知道如果我得到你的問題的權利,但你可以嘗試圖像功能,如:

A = [ 1 1 0; 1 0 1; 1 1 1 ]; 
colormap([0 0 0; 1 1 1 ]); 
image(A .* 255); 
+0

非常感謝。這是有幫助的,但不是像我需要的那樣,我需要這樣的東西(請查找網址): http://www.mathworks.com/access/helpdesk/help/techdoc/ref/pcolor1.gif – sahamdan 2010-07-19 13:14:45