MATLAB Answers

How to plot text in mapshow map

29 views (last 30 days)
David Franco
David Franco on 13 Sep 2019
Commented: David Franco on 25 Oct 2019
I have this map I made using mapshow function:
map
I used the data in this structure to create the map:
structure.PNG
My function is (I need to plot each citie with specific color):
load mapnew.mat % the structure with data
load resultscorrigido.mat % just for colors of cities
[C,ia,ic] = unique(results(:,1));
palett = flipud(hsv(numel(C))); % parula, jet, hsv
for ii = 1:numel(Snew)
color = palett(ic(ii),:);
mapshow(Snew(results(ii,2)),'FaceColor',color);
end
I want to plot the names of the cities (Snew(:).NAME) using each LAT x LON coordinates. I tried the function textm, but I get an error:
textm(Snew(94).LAT,Snew(94).LON,Snew(94).NAME)
Error using gcm (line 25)
Not a map axes.
Error in textm (line 96)
mstruct = gcm;
How can I put a code inside my for loop to plot each citie name in my map?
Thanks in advance!

  2 Comments

Katie
Katie on 24 Oct 2019
Hi! Instead of textm(), try text(). Mapshow displays a map without projection so you don't have any mapping axes and therefore don't need the "m" suffix on your plot commands.
David Franco
David Franco on 25 Oct 2019
Thank you very much Katie! It worked! Soooo simple...

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!