2013-06-16 1 views
4

이것은 제 첫 질문이며 저는 python에 멍청한 반응을 보입니다. 따라서 더 많이 따르겠습니다.matplotlib 라벨에 subscripting 텍스트가 있습니다.

matplotlib로 그림을 만들고 싶습니다. 라벨에서 첨자를 사용하는 화학 공식을 포함하고 싶습니다 (위 첨자에도 동일하게 적용됩니다 ...).

어쨌든, 나는 라벨이 어떻게 생겼는지 전혀 모릅니다.

import numpy as nu 
import pylab as plt 

x = nu.array([1,2,3,4]) 
y = nu.array([1,2,3,4]) 

plt.plot(x,y, label='H2O') 
plt.legend(loc=1) 
plt.show() 

좋아, 이것은 "H2O"라는 라벨이있는 플롯입니다. 화학 수식에서 흔히있는 것처럼 라벨의 "2"를 어떻게 덧붙일 수 있습니까?

웹을 검색했지만 아직 유용한 정보를 찾지 못했습니다.

은 내가

from matplotlib import rc 
rc['text', usetex=True] 

를 사용할 수 있지만 (나는 유액을 사용하는 방법을 알고,하지만 난 여기 원하지 않는)을 사용하지 않는 것이 생각.

또 다른 옵션은 다음과 같습니다

label='H$_2$O' 

하지만이 글꼴 (수학)을 변경합니다.

matplotlib-legends의 subscript는 어떻게 작동합니까?

고마워요!

plt.plot(x,y, label='$H_2O$') 

그것은 글꼴 수학 쇼 :

답변

2

이 라인이에 대한

plt.plot(x,y, label='H2O') 

을 변경하려고합니다.

또는 또한 당신이 그것을 위해 유니 코드 문자를 사용할 수 있습니다 : ₂ (0xE2/₂)

plt.plot(x,y, label=u'H₂O') 

또는 대신 :

plt.plot(x,y, label=u"H\u2082O") 

, 그 유니 코드 문자열이 설명되어 있습니다 유의하시기 바랍니다으로 U "" 대신 ''이 (가) 있습니다.

+0

감사합니다. 이미 시도해 보았습니다. 그것은 lables 등과 다른 스타일로 반환합니다 ... 스타일을 변경하지 않고 실제로 간단한 방법이 있습니까? – SKchem

+0

유니 코드 문자로 시도하십시오 : ² – fernandezr

+0

label = u'H \ 2082O ' 는 이상한 것을 반환합니다 ... 죄송합니다, 여기에 유니 코드를 사용하는 방법을 모르겠지만 ... 코드 줄에서 "2"가 다소 있습니다 더 작은 ans subscripted, 어떻게 이것을 했습니까? – SKchem

관련 문제