2012-08-14 6 views
10

मैं ग्रीक अक्षर 'rho' वाले ग्राफ में कुछ धुरी-लेबल जोड़ने की कोशिश कर रहा हूं। ऐसा करने के लिए मैं Matplotlib की LaTeX क्षमता का उपयोग करना चाहता हूं लेकिन ऐसा लगता है कि \ rho प्रतीक के साथ कोई समस्या है।मैटलप्लिब लाटेक्स: ग्रीक अक्षरों के साथ असंगत व्यवहार (विशेष रूप से 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() 

पहली बार मैं LaTeX त्रुटियों और एक खाली आंकड़ा खिड़की का एक समूह मिल चल करने पर, फिर से चलाने ग्राफ दिखाता है लेकिन xlabel पढ़ता 'हो ऐ' जहां i अपेक्षित के रूप में सबस्क्रिप्ट है।

अजीब बात यह है कि अगर मैं \rho को किसी और चीज़ के साथ बदलता हूं, तो कहें, \sigma यह सही तरीके से दिखाता है। क्या कोई मुझे बता सकता है कि यह मेरे कोड उदाहरण से खुश क्यों नहीं है और इसे कैसे ठीक किया जाए?

धन्यवाद।

पी। मैंने अभिव्यक्ति को $..$ में डालने का प्रयास किया लेकिन इससे कुछ भी नहीं बदला।

उत्तर

16

मुझे लगता है कि आपको कच्चे तारों का उपयोग करना है, और $ संकेतों का भी उपयोग करना है। प्रयास करें:

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

सबूत के रूप में: 'प्रिंट ('\ r')' - मुझे लगता है कि \ r' शायद कैरिज रिटर्न है ... – mgilson

+0

याह, अच्छा बिंदु। – reptilicus

+0

यह धन्यवाद है। समीकरण बिट के बाद कोई पाठ नहीं होने पर '$ .. $' आवश्यक नहीं है। Matplotlib लगता है कि समीकरण शुरू होता है। – Dan

4

सावधान जब आप एक स्ट्रिंग में \n, \r उपयोग कर रहे हैं और इतने पर है। वे उदाहरण के लिए आदेश हैं एक नई लाइन आदि

https://docs.python.org/2/library/re.html

में प्रवेश वाकई इन नियमित अभिव्यक्ति ऑपरेटरों का उपयोग नहीं करते \rho के बजाय \\rho डाल बनाने के लिए।

संबंधित मुद्दे