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

18 次查看(过去 30 天)
How can I display these numbers on my pcolor map?

采纳的回答

Chunru
Chunru 2022-4-28
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))

更多回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2022-4-28
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

类别

Help CenterFile Exchange 中查找有关 Geographic Plots 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by