2013-06-25 7 views
5

मेरे पास मेरी पायथन लिपि में एक संख्या है जिसे मैं matplotlib में एक साजिश के शीर्षक के हिस्से के रूप में उपयोग करना चाहता हूं। क्या कोई ऐसा फ़ंक्शन है जो फ़्लोट को एक स्वरूपित टीएक्स स्ट्रिंग में परिवर्तित करता है?मैटलप्लिब के लाटेक्स फॉर्मेटर का उपयोग करके मैं फ्लोट को कैसे प्रारूपित कर सकता हूं?

असल में,

str(myFloat) 

रिटर्न

3.5e+20 

लेकिन मैं चाहता हूँ

$3.5 \times 10^{20}$ 

या कम से कम दूसरी स्ट्रिंग की तरह नाव को स्वरूपित करने matplotlib के लिए स्वरूपित किया जाएगा। मैं अजगर 2.4 का उपयोग करके भी अटक गया हूं, इसलिए पुराने संस्करणों में चलने वाला कोड विशेष रूप से सराहना करता है।

उत्तर

4

आप की तरह कुछ कर सकते हैं:

नए प्रारूप के साथ
print r'$%s \times 10^{%s}$' % tuple('3.5e+20'.split('e+')) 

:

print r'${} \times 10^{{{}}}$'.format(*'3.5e+20'.split('e+')) 
ax.set_title("$%s \\times 10^{%s}$" % ('3.5','+20')) 
+0

क्या आपके पास पाइथन के पुराने संस्करणों के लिए कोई विकल्प है? मैं 2.4 का उपयोग कर अटक गया हूं, लेकिन string.format() 2.6 में नया है। – Dan

+0

ठीक है ... मैंने इसे जोड़ा! Matplotlib में सही ढंग से '\ times' की व्याख्या करने के लिए डबल बैक-स्लैश महत्वपूर्ण हैं ... –

8
वर्ष stype स्वरूपण के साथ

: पुरानी शैली में

ax.set_title("${0} \\times 10^{{{1}}}$".format('3.5','+20')) 
संबंधित मुद्दे

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