Change map coordinates to Latex Interpreter

I am making a figure, I want it to use latex interpreter for the axis labels, but I fail at it, maybe because I use the m_map package.
figure
m_proj('lambert','lon',[10 20],'lat',[25 31]);
m_gshhs_c('patch',[.8 .8 .8],'edgecolor','none');
m_grid('linewi',2,'tickdir','out','fontsize',24);
I tried using latex interpreter, but it does nothing.
set(gca, 'TickLabelInterpreter', 'latex');
Any idea what am I missing?

 Respuesta aceptada

Madmad
Madmad el 12 de Mzo. de 2026 a las 14:35
Solution for people having the same issue: After you call m_grid, m_map package reattributes your x and y axis ticks to X°N or Y°E. To remove the ugly default font, switch each to latex.
allText = findobj(gcf, 'Type', 'Text');
for i = 1:length(allText)
txt = allText(i).String;
if ~isempty(txt)
newTxt = regexprep(txt, '(\d+)[°]?([NSEW]?)', '$1$^{\\circ}$$2');
if ~strcmp(txt, newTxt)
allText(i).Interpreter = 'latex';
allText(i).String = newTxt;
end
end
end

Más respuestas (1)

Adam Danz
Adam Danz el 29 de Mayo de 2024
Editada: Adam Danz el 31 de Mayo de 2024
The map axes you see is a psuedo-axes created from a patch with labels to appear as an axes. The actual axes is not visible. So when you set the TicklabelInterpreter, it has no visible effect.
For confirmation of this, turn on the visibility of the axes,
set(gca,'Visible','on')
I'm not familiar with the 3rd party toolbox these functions appear to be from (link?). See the Mapping Toolbox for alternatives.

1 comentario

Madmad
Madmad el 29 de Mayo de 2024
Yes this link. I used to use it because of Matlab lack of toolboxes for maps, I plan to switch to the one you linked!

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 29 de Mayo de 2024

Respondida:

el 12 de Mzo. de 2026 a las 14:35

Community Treasure Hunt

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

Start Hunting!

Translated by