How to put latex in Xtick label? (Matlab 2015b)
18 views (last 30 days)
Show older comments
How can I have latex \mu and \mu_2 on the dotted lines Xtick? No other Xtick is necessary.
clc;
clear all;
mu=0;
mu2=4;
sigma=1;
x=linspace(mu-4*sigma, mu+4*sigma, 10000);
x2=linspace(mu2-4*sigma, mu2+4*sigma, 10000);
m_x = [mu mu2];
m_y = [0 0];
figure;
set(gcf,'units','inches','renderer', 'painters');
pos = get(gcf,'pos');
set(gcf,'Units','inches',...
'Position',[pos(1) pos(2) 3.5 2]);plot(x, normpdf (x,mu,sigma),'blue');
hold all;
plot(x2, normpdf (x2,mu2,sigma),'green');
plot(m_x, m_y,'red','LineWidth',3);
yL=get(gca,'YLim');
SP=0;
SP2=4;
line([SP SP],yL,'color','k','LineStyle',':');
line([SP2 SP2],yL,'color','k','LineStyle',':');
hold off
0 Comments
Accepted Answer
Star Strider
on 10 Jan 2016
I don’t see where you’re defining them, but to invoke the LaTeX interpreter, use the name-value pair 'Interpreter','latex' in whatever call you want to use it in.
6 Comments
Star Strider
on 11 Jan 2016
I’ve not ever attempted multi-line tick labels, so I would have to experiment as well. Reverting to the text function (the typical approach prior to R2014b) to do what you want seems the best option.
I am somewhat surprised that LaTeX doesn’t offer a way to do multi-line labels, since TeX is a subset of LaTeX, and LaTeX is usually more powerful.
You’ve raised a number of significant issues in your post and explained them thoroughly, so I suggest you bring it to the attention of MathWorks Tech Support. Choose the ‘bug report or enhancement request’ option, and include a link to this thread with an introductory explanation. Have MATLAB open and run ver in the Command Window first.
Marc B
on 15 Nov 2016
Edited: Marc B
on 15 Nov 2016
If you want to have multiple lines in your TickLabels, you must put everything in a \parbox environment:
ax.TickLabelInterpreter='latex';
ax.XTickLabel={'\parbox{4em}{line \#1 \\ line \#2}'};
This produces the following output:
I have not managed to get LaTeX colors working. It only seems to be working in TeX:
ax.TickLabelInterpreter='tex';
ax.XTickLabel={'\color{red}RED','\color{blue}BLUE'};
The output of this is:
More Answers (0)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!