2011-10-20 19 views
14

Estoy usando matplotlib para producir algunos gráficos, y estoy usando látex para las leyendas.Látex en python: alpha y beta no funcionan?

Más específicamente, estoy tratando de usar algo como esto:

loglog(x,x, '-r',label='$ \alpha $') 
legend() 
show() 

Sin embargo, este código no presenta una leyenda en la figura, y obtiene el error después de cerrar la imagen.

Estoy usando el paquete enthought (para mac), pero el error proviene del pylab/scipy.

El error de los que aparece es exactamente:

$ lpha $ (at char 0), (line:1, col:1) 

Sin embargo, si utilizar el \ mu o \ gamma, que funciona bien !! Solo encontré este problema en \ beta y \ alpha.

¿Alguien sabe lo que puede ser esto? Creo que Python está interpretando "\ a" como un personaje ... pero no sé cómo debo depurarlo/evitarlo.

+6

¿Has probado '\\ a' en lugar de' \ a'? – tauran

Respuesta

36

\a y \b tienen special meaning dentro de una cadena de Python literal.

recomiendo que utilice raw strings cada vez que hay una barra invertida incrustado dentro de una cadena:

r'$ \alpha $ 
6

Además de utilizar cuerdas primas (como se menciona en el post anterior) también se puede escapar de la barra invertida. Así que escribir \\alpha y \\beta también funcionará.