2012-11-12 679 views
24

我需要在圖的軸標籤中鍵入希臘字母和Angstrom符號。因此,例如在Python圖中輸入希臘字母等

fig.gca().set_xlabel("$wavelength\, (Angstrom)$") 
fig.gca().set_ylabel("$lambda$") 

除了我實際上希望「Angstrom」和「lambda」替換爲實際符號。我應該怎麼做?謝謝!

回答

16

您不僅可以添加原始字符串來matplotlib,但你也可以指定matplotlibrc或地方規定的字體:

from matplotlib import rc 

rc('font', **{'family':'serif','serif':['Palatino']}) 
rc('text', usetex=True) 

這將改變你的襯線字體乳膠。您也可以指定像這樣

rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']}) 

其他選項是cursivemonospace各自的字體名稱的無襯線黑體。 那麼你的標籤會

fig.gca().set_xlabel(r'wavelength $5000 \AA$') 

如果字體不提供的埃符號,你可以嘗試使用\mathring{A}

+0

Angstrom對這個選項並不滿意,因爲它顯得斜體。在乳膠中工作的$ \ text {\ AA} $似乎在這裏工作。還有一個選項保留了用於這些字符的字體。怎麼做? – leandro

+0

您可以使用字母A代替專用埃符號(),因爲很少有字體包含後者,最加時賽他們使用相同的字形兩種,反正。 https://en.wikipedia.org/wiki/%C3%85#Symbol_for_.C3.A5ngstr.C3.B6m –

6

如果你想壽有一個正常的字符串盈希臘字母的確保您有正確的順序:

plt.ylabel(r'Microstrain [$\mu \epsilon$]') 
3

的Python 3.x的: 小希臘字母從945到969 所以,α-是chr(945)編碼,ω-是chr(969) 所以只需鍵入

print(chr(945)) 

的小希臘字母列表中的列表:

greek_letterz=[chr(code) for code in range(945,970)] 

print(greek_letterz) 

而現在,阿爾法是greek_letterz[0],β是greek_letterz[1],ASO

2

爲什麼不直接使用字面字符?

fig.gca().set_xlabel("wavelength, (Å)") 
fig.gca().set_ylabel("λ") 

你可能有,如果你正在使用Python 2到這個添加到文件:

# -*- coding: utf-8 -*- 
from __future__ import unicode literals # or use u"unicode strings" 

可能更容易定義是不容易在鍵盤上輸入的字符常量。

ANGSTROM, LAMDBA = "Åλ" 

然後,您可以在別處重複使用它們。

fig.gca().set_xlabel("wavelength, (%s)" % ANGSTROM) 
fig.gca().set_ylabel(LAMBDA)