How can I display text on pcolor map like in the image below?
20 views (last 30 days)
Show older comments
How can I display these numbers on my pcolor map?
0 Comments
Accepted Answer
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
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
See Also
Categories
Find more on Geographic Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!