tun*_*tun 8 matlab plot latex matlab-figure
我试图在我的matlab图中包含一个图例,该图使用Latex解释器作为图例文本.
当我设置图例以使用Latex解释器时,文本溢出在图例框外.
我已经尝试调整文本的大小,但无论FontSize如何都会发生这种情况.
以下是我脚本的相关部分:
I = legend([h1 h2 h3],'RainFall Flux', ...
'Temperature term ($$\rho \alpha$$dT)', ...
'Salinity term ($$\rho \beta$$dS)');
c=get(I,'children');
set(c(5),'LineWidth',3); %adjust lineWidth in legend
set(c(2),'LineWidth',3); %adjust lineWidth in legend
set(I,'interpreter','latex'); %set Latex interpreter
set(I,'FontSize',15);
Run Code Online (Sandbox Code Playgroud)
我假设这是因为matlab在使用Latex解释文本后没有考虑正确的字符大小.但是,我不知道如何解决这个问题.
任何见解都将非常感谢!谢谢!
小智 1
在 R2007b 中,如果我从第一个语句中删除 [h1 h2 h3] (和逗号),我对你的代码没有任何问题。然而,在调用乳胶解释器或设置 FontSize 后,图例中线宽的变化消失,所以我不得不切换这些顺序。换句话说,这段代码的工作原理是:
x=[1:100]; y=sin(pi*x/50); plot(x,y,x,y.^2,x,sqrt(abs(y)));
I = legend('RainFall Flux', ...
'Temperature term ($$\rho \alpha$$dT)', ...
'Salinity term ($$\rho \beta$$dS)');
c=get(I,'children');
set(I,'interpreter','latex'); %set Latex interpreter
set(I,'FontSize',15);
set(c(5),'LineWidth',3); %adjust lineWidth in legend
set(c(2),'LineWidth',3); %adjust lineWidth in legend
Run Code Online (Sandbox Code Playgroud)