How can I display text on pcolor map like in the image below?

1 view (last 30 days)
Basiq
Basiq on 28 Apr 2022
Commented: Basiq on 28 Apr 2022
How can I display these numbers on my pcolor map?

Accepted Answer

Chunru
Chunru on 28 Apr 2022
L = membrane(1, 100);
s=pcolor(L);
s.EdgeColor='none';
set(gca, 'YDir', 'reverse')
xl = xlim;
yl = ylim;
n = 1;
xy =[];
for i=1:7
iodd = mod(i, 2);
for j=1:7
jodd = mod(j, 2);
if (iodd && ~jodd) || ~iodd && jodd
xy = [xy; j, i];
end
end
end
%map to xlim and ylim
xy(:, 1) = xl(1) + xy(:, 1) * diff(xl)/8;
xy(:, 2) = yl(1) + xy(:, 2) * diff(yl)/8;
text(xy(:,1), xy(:, 2), string(1:24))

More Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 28 Apr 2022
If you have your text-strings and their respective location you should be able to do this brute-force:
pcolor(X,Y,Z),shading interp
x4t = randn(1,23); % positions just for this example
y4t = randn(1,23); % rather stupid locationing of text
text4labels = 'a':'w'; % not much of information either
fntsz = 15;
fntw = 'bold'
for iT = numel(text4labels):-1:1,
thl(iT) = text(x4t(iT),y4t(iT),text4labels(iT),'fontsize',fntsz,'fontweight',fntw);
end
You'll have to modify the locations and texts to produce anything sensible.
HTH

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!