How to plot binary matrix as dots?

48 views (last 30 days)
I have a Matrix with ones and zeroes. How to plots the matrix with zeroes as black spot and ones as whote dots as shown in figure below.

Accepted Answer

Star Strider
Star Strider on 15 Sep 2021
Try this —
M = randi([0 1],25)>0; % Logical Matrix
[r,c] = find(M);
figure
scatter(c, r, 75, 'sw', 'filled')
set(gca, 'Color','k', 'YDir','reverse')
axis([0 size(M,1)+1 0 size(M,2)+1])
% axis('equal')
The spy function works for this, however it does not have the ability to fill the markers, so I went with scatter instead.
figure
spy(M,'sw');
set(gca, 'Color','k')
hs.MarkerFaceColor = 'w';
Experiment to get the result you want.
.

More Answers (3)

millercommamatt
millercommamatt on 15 Sep 2021
FH = figure;
imagesc(yourMatrix);
colormap(FH,[0,0,0;1,1,1]);

the cyclist
the cyclist on 15 Sep 2021
M = magic(7);
B = M > mean(M);
colormap('gray')
imagesc(B)
axis square

Matt J
Matt J on 15 Sep 2021
Edited: Matt J on 15 Sep 2021
imshow(yourMatrix)

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!