Ste*_*ein 3 matlab plot tex matlab-figure
我正在尝试在我的标签的xlabel中使用希腊字母.互联网上的每个解决方案都说Matlab会接受tex.但是代替delta符号,我的x轴简单地标记为'D'
a = plot(0:40, y);
hold on
plot(delta_T,brechkraft, 'x')
errorbar(delta_T, brechkraft,delta_b,'x');
title('2mm Oelschicht');
xlabel('\Delta');
ylabel('Brechkraft D in 1/cm');
annotation('textbox', [.2 .8 .1 .1],...
'String', {'Fit: f(x) = m*x + b', ['m = ', num2str(p(1)) ], ['b = ', num2str(p(2)) ]});
shg
hold off
saveas(a, 'abc1.png','png');
Run Code Online (Sandbox Code Playgroud)
the*_*alk 13
这有点好奇,你的语法似乎没问题.你搞砸了系统的一些字体吗?或者也许你'interpreter'的设置为none(doc text props)?
检查它(hx= xlabel的句柄):
get(hx, 'Interpreter')
Run Code Online (Sandbox Code Playgroud)
并设置为:
set(hx, 'Interpreter', 'tex')
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,作为第一个解决方法,您可以尝试激活Latex解释器而不是通常的默认解释器tex.
x = 0:40;
y = x.^2;
plot(y,x, 'x')
title('\alpha \beta \gamma');
hx = xlabel('Symbol $\sqrt{\Delta}$ ','interpreter','latex');
hy = ylabel('Symbol $\sqrt{\epsilon}$','interpreter','latex');
Run Code Online (Sandbox Code Playgroud)

但实际上对于简单的希腊字母,这是不必要的!
使用默认tex解释器:
hx = xlabel('\Delta');
hy = ylabel('\epsilon');
Run Code Online (Sandbox Code Playgroud)
工作也是:

但与乳胶语法一起使用delta不再被识别:
xlabel('Symbol $\sqrt{\Delta}$ ','interpreter','tex');
ylabel('Symbol $\sqrt{\epsilon}$','interpreter','tex');
Run Code Online (Sandbox Code Playgroud)
其他想法:
键入时它返回什么字体:get(0,'DefaultAxesFontName')?将它设置为Helvetica或Arial时是否有效?
set(0,'DefaultAxesFontName','Helvetica');
Run Code Online (Sandbox Code Playgroud)
据报道,在某些系统(例如Ubuntu 12.xx)上,您需要先安装tex字体.
| 归档时间: |
|
| 查看次数: |
13001 次 |
| 最近记录: |