How to put latex in Xtick label? (Matlab 2015b)

조회 수: 7 (최근 30일)
John
John 2016년 1월 10일
편집: Marc B 2016년 11월 15일
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

채택된 답변

Star Strider
Star Strider 2016년 1월 10일
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
Star Strider
Star Strider 2016년 1월 11일
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
Marc B 2016년 11월 15일
편집: Marc B 2016년 11월 15일
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:

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by