2012-08-14 9 views
10

Yunan harfini 'rho' içeren bir grafiğe bazı eksen etiketlerini eklemeye çalışıyorum. Bunu yapmak için, Matplotlib'in LaTeX yeteneğini kullanmak istiyorum, ancak 'rho sembolü ile ilgili bir sorun var gibi görünüyor. , Yeniden yayınlanmaya grafiğini gösterir ama xlabel okurMatplotlib LaTeX: Yunan Harfleriyle Tutarsız Davranış (Spesifik olarak rho)

import matplotlib.pyplot as plt 
from matplotlib import rc,rcParams 

rc('text',usetex=True) 
rcParams.update({'font.size': 16}) 

plt.plot([0,1,2,3,4],[0,1,4,9,16]) 
plt.xlabel('\rho A_i') # works if \rho is replaced with, for example, \sigma 
plt.ylabel('Something else') 
plt.show() 

Ben LaTeX hataları ve boş şekil penceresine bir demet olsun ilk defa çalıştıran üzerine 'ho Ai': İşte

minimal örnektir i'un beklendiği gibi alt dizin olduğu yer.

Tuhaf olan şey, \rho'u başka bir şeyle değiştirirsem, \sigma'un düzgün şekilde gösterilmesidir. Kim bana kod örneğimden niçin mutlu olmadığını ve nasıl düzeltileceğini söyleyebilir mi?

Teşekkürler.

P. İfadeyi $..$ içine koymaya çalıştım ama bu hiçbir şey değiştirmedi.

cevap

16

Sanırım ham dizeleri kullanmanız ve $ işaretlerini kullanmanız gerekiyor. Deneyin: Bir dizede benzeri \n, \r kullanma ve bittiğinde

plt.xlabel(r'$\rho A_i$') 
+0

Kanıt olarak: 'print ('\ r')' - Sanırım '' r' muhtemelen vagon dönüşüdür ... – mgilson

+0

yah, iyi nokta. – reptilicus

+0

Bu, teşekkürler. Denklem biti takip eden bir metin yoksa, $ .. $ 'gerekli değildir. Matplotlib denklemin nerede başladığını tahmin ediyor gibi görünüyor. – Dan