Combining multiple colors and latex commands as tick labels

12 visualizaciones (últimos 30 días)
Leo Simon
Leo Simon el 21 de Abr. de 2020
Comentada: Leo Simon el 21 de Abr. de 2020
I want to have some ticklabels as colored symbols and others as symbols like \bar{x}. These desires seem to be incompatible.
To get the colored symbols I need the 'tex' interpreter; to get \bar{x} I need the 'latex' interpreter.
The following example illustrates the problem. If you run it to the keyboard, you'll see the colored lsymbols together with \$\bar{x}\$
This seems to be because the tex intepreter doesn't know what to do with the \bar command. Same problem with \tilde, \hat, etc.
If you go past the keyboard and switch interpreters, you'll see but the colored symbols disappear, because it seems the latex interpreter doesn't know what to do with the colored symbols. Is there any way to reconcile this incompatibility? Thanks!
plot(1:2);
XTickLabels=get(gca,'XTickLabel');
XTickLabels{1}='$\bar{x}$';
XTickLabels{2}='\color{red}\lambda';
XTickLabels{3}='\color{blue}\theta';
set(gca,'XTickLabel',XTickLabels);
set(gca,'TickLabelInterpreter','tex');
keyboard;
set(gca,'TickLabelInterpreter','latex');

Respuesta aceptada

Mehmed Saad
Mehmed Saad el 21 de Abr. de 2020
Editada: Mehmed Saad el 21 de Abr. de 2020
You can use this instead of that
plot(1:2);
x = gca;
pos = x.XTick;
poy = min(ylim)-0.05;
x.XTickLabel= ' ';
sybs = {'$\bar{x}$','\lambda','\theta','$\bar{x}$','\lambda','\theta','$\bar{x}$',...
'\lambda','\theta','$\bar{x}$','\lambda'};
intp = {'latex','tex','tex','latex','tex','tex','latex','tex','tex','latex','tex'};
for i=1:length(pos)
text(pos(i),poy,sybs{i},'Interpreter',intp{i},'Color',rand(1,3),'FontSize',15,...
'HorizontalAlignment','center','VerticalAlignment','baseline')
end
  1 comentario
Leo Simon
Leo Simon el 21 de Abr. de 2020
Perfect, thanks! This means i can abandon matlab's tick label implementation forever, which is very liberating!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Labels and Annotations en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by