使用 Latex 解释器的 Matlab 图例文本溢出

标签 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);

我假设这是因为在使用 Latex 解释文本后,matlab 没有考虑正确的字符大小。但是,我不知道如何解决这个问题。

任何见解将不胜感激!谢谢!

最佳答案

如果我从您的第一个语句中删除 [h1 h2 h3](和逗号),我对您在 R2007b 中的代码没有任何问题。然而,在调用 latex 解释器或设置 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

关于使用 Latex 解释器的 Matlab 图例文本溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18923677/

相关文章:

matlab - 在每一行中获取不同的列

matlab - 重新绘制已删除的对象 MATLAB

r - 在 R 中一个接一个地显示多个 ggplot2 图(就像 plot.lm 一样)

python - 分层树的视觉替代方案 : (((A, B),(C,D)),E)?

latex - 从\bibliography 中删除书目标题和分页符

matlab - 在 Matlab 中创建并绘制时间序列数据

matlab - 随机唯一整数值

javascript - 为什么在维度变量中无法识别 .domain、tickFormat 和 tickValues? (d3,平行坐标)

vim - 使用 Vim 在 beamer 演示文稿中编译和显示单个幻灯片的 PDF

latex - latex 中的 QED 符号