How to put a hat on letters in a legend?

163 visualizzazioni (ultimi 30 giorni)
Hey everyone,
I am trying to create a legend for one of my graphs that contains two entries: p and p^^CS - I want a hat on the p and I also want CS in the index....
Can someone tell me how to do that??
Thanks a lot!

Risposta accettata

Zoltán Csáti
Zoltán Csáti il 7 Nov 2014
You should use the LaTeX interpreter:
legend({'$\hat{p}^{CS}$'},'Interpreter','latex')
  3 Commenti
Zoltán Csáti
Zoltán Csáti il 7 Nov 2014
By example:
p = plot(1,2,'O');
hold on
pCS = plot(1,3,'rO');
leg = legend({'p';'$\hat{p}^{CS}$'});
set(leg,'Interpreter','latex');
Now you get the same format. However it seems that the hat changed its style. It is definitely because of it, since after
plot('1,2,'o');
legend({'p'},'Interpreter', 'latex');
results the same style for p.
Walter Roberson
Walter Roberson il 20 Set 2020
It turns out to be generally difficult in LaTeX to create upright symbols or modified alphabets (such as hat modifier). The easy methods that remove the italics in math mode, do not apply to symbols.
The LaTeX solution to this involves using the amsmath package (in particular amstext). Unfortunately, MATLAB does not currently provide any method for importing the amsmath package.

Accedi per commentare.

Più risposte (1)

chandan sidhant
chandan sidhant il 20 Set 2020
Modificato: Walter Roberson il 20 Set 2020
set(legend( '$$|\hat{u}_1|/|\hat{u}_{max}|$$', '$$|\hat{v}_1|/|\hat{u}_{max}|$$'),'Interpreter','Latex','FontSize', 10);

Community Treasure Hunt

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

Start Hunting!

Translated by