2012-05-11 19 views
7

मैं केवल एक पंक्ति के साथ एक मूर्तिकला मुद्रित करने का प्रयास करता हूं, लेकिन मुझे केवल पहला अक्षर मिलता है। मैं साजिश बनाने के लिए निम्न स्क्रिप्ट है:मैटलप्लिब: मूर्तिकला केवल पहले अक्षर को प्रिंट करना

from pylab import * 
k = plot((0, 1),(1, 1)) 
figlegend((k),('Limit'),loc='lower center') 
savefig('test.pdf') 

उत्पादन होता है: output

क्या मैं गलत कर रहा हूँ? (या यह एक बग है?)

+2

'('सीमा') 'पायथन में एक ट्यूपल के रूप में हस्तक्षेप नहीं किया गया है,' ('सीमा',)' है। मेरा अनुमान है कि '['सीमा'] 'ठीक काम करना चाहिए। – Hooked

उत्तर

15

मुझे पता नहीं चला है कि यह matplotlib में एक बग या जानबूझकर (किसी कारण से) है, लेकिन एक पूर्ण किंवदंती लेबल प्राप्त करने के लिए आपको एक पिछला कॉमा छोड़ना होगा अपने लेबल की सूची:

figlegend((k),('Limit',),loc='lower center') 

परिवर्तन यह है कि लाइन और अपने कोड:

full legend label

:

from pylab import * 
k = plot((0, 1),(1, 1)) 
figlegend((k),('Limit',),loc='lower center') 
savefig('test.pdf') 

आंकड़ा पैदा करता है

+3

यह पाइथन की एक विशेषता है: एकल तत्व सूची निर्दिष्ट करने के लिए, आपको उस वाक्यविन्यास की आवश्यकता है ताकि इसे पैरों में कुछ स्केलर मान से अलग किया जा सके। http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences –

+0

यह पाइथन का अजीब क्विर्क है जो मैं अभी तक आया हूं। बहुत आभारी है कि आप इसे बाहर मिला। – GLaDER

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