2014-01-13 85 views
3

我試圖在我的xlabel中使用希臘字母。互聯網上的每個解決方案都表示Matlab將接受tex。但代替三角符號我的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'); 
+0

無論默認字體Matlab在你的系統上使用的字體肯定有Delta嗎?你嘗試過不同的字體嗎? – Notlikethat

+0

最後是什麼原因? – thewaywewalk

回答

13

這有點好奇,你的語法看起來沒問題。你搞砸了你的系統的一些字體?或者,也許您的'interpreter'設置爲nonedoc text props)?

與(hx =手柄xlabel的)檢查它:

get(hx, 'Interpreter') 

,並設置:

set(hx, 'Interpreter', 'tex') 

如果不工作,作爲第一個解決方法,你可以嘗試激活Latex interpreter而不是通常默認的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'); 

enter image description here


但實際上,對於簡單的希臘字母,這是沒有必要的!

使用默認tex解釋:

hx = xlabel('\Delta'); 
hy = ylabel('\epsilon'); 

是工作壓力太大:

enter image description here

但乳膠語法delta使用不再被認可:

xlabel('Symbol $\sqrt{\Delta}$ ','interpreter','tex'); 
ylabel('Symbol $\sqrt{\epsilon}$','interpreter','tex'); 

其他的想法:get(0,'DefaultAxesFontName')

不,當你鍵入它返回什麼字體? 當您將它設置爲HelveticaArial是否工作?

set(0,'DefaultAxesFontName','Helvetica'); 

另據報道,在某些系統(例如Ubuntu的 12.xx),你需要安裝TEX字體第一。

相關問題