我正在尝试在情节的 xlabel 中使用希腊字母。互联网上的每个解决方案都说 Matlab 将接受 tex。但是我的 x 轴不是 delta 符号,而是简单地标记为“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');

最佳答案

有点好奇,你的语法似乎没问题。您是否搞砸了系统的某些字体?或者您的 'interpreter' 设置为 none ( doc text props )?

用( hx = xlabel 的句柄)检查它:

get(hx, 'Interpreter')

并将其设置为:
set(hx, 'Interpreter', 'tex')

如果这不起作用,作为第一个解决方法,您可以尝试激活 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');



但实际上对于简单的希腊字母,这是没有必要的!

使用默认的 tex 解释器:
hx = xlabel('\Delta');
hy = ylabel('\epsilon');

也在工作:

但是不再识别与 latex 语法 delta 一起使用的:
xlabel('Symbol $\sqrt{\Delta}$  ','interpreter','tex');
ylabel('Symbol $\sqrt{\epsilon}$','interpreter','tex');

其他想法:

输入时它返回什么字体: get(0,'DefaultAxesFontName')
当您将其设置为 Helvetica Arial 时,它是否有效?
set(0,'DefaultAxesFontName','Helvetica');

还有报道称,在某些系统上(例如 Ubuntu 12.xx),您需要先安装 tex 字体

关于matlab - 轴标签中的希腊字母不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21103033/

10-12 23:53