How to put a hat on letters in a legend?

178 views (last 30 days)
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!

Accepted Answer

Zoltán Csáti
Zoltán Csáti on 7 Nov 2014
You should use the LaTeX interpreter:
legend({'$\hat{p}^{CS}$'},'Interpreter','latex')
  3 Comments
Zoltán Csáti
Zoltán Csáti on 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 on 20 Sep 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.

Sign in to comment.

More Answers (1)

chandan sidhant
chandan sidhant on 20 Sep 2020
Edited: Walter Roberson on 20 Sep 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!