如何将2D二进制矩阵显示为黑色&白色情节?

时间:2010-07-19 11:41:41

标签: matlab matrix plot

我有一个2D二进制矩阵,我希望将其显示为黑白图。例如,假设我有一个4乘4的矩阵,如下所示:

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

如何将其绘制为黑白矩阵?我的一些输入二进制矩阵的大小为100乘9,所以我理想地需要一个可以推广到不同大小矩阵的解决方案。

3 个答案:

答案 0 :(得分:15)

如果您想制作填字游戏类型as shown here(使用网格线和黑白方块),可以使用imagesc函数gray colormap,并修改{ {3}}喜欢这样:

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');

这是你应该得到的形象:

axes properties

答案 1 :(得分:4)

我不确定我的问题是否正确,但您可以尝试图像功能,如下所示:

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

答案 2 :(得分:1)

尝试使用spy函数开始。