How can I display a 2D binary matrix as a black & white plot?

前端 未结 3 738
半阙折子戏
半阙折子戏 2020-12-16 15:22

I have a 2D binary matrix that I want to display as a black and white plot. For example, let\'s say I have a 4-by-4 matrix as follows:

1 1 0 1
0 0 1 0
1 1 0          


        
相关标签:
3条回答
  • 2020-12-16 15:39

    Try the spy function to start with perhaps.

    0 讨论(0)
  • 2020-12-16 16:00

    If you want to make a crossword-type plot as shown here (with grid lines and black and white squares) you can use the imagesc function, a gray colormap, and modify the axes properties like so:

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

    And here's the image you should get:

    0 讨论(0)
  • 2020-12-16 16:01

    I'm not sure if I got your question right, but you may try the image function, like this:

    A = [ 1 1 0; 1 0 1; 1 1 1 ];
    colormap([0 0 0; 1 1 1 ]);
    image(A .* 255);
    
    0 讨论(0)
提交回复
热议问题