2011-04-20 8 views

उत्तर

63

matplotlib v1.4.0rc4 के रूप में, remove विधि पौराणिक वस्तु में जोड़ा गया है।

उपयोग:

ax.legend_.remove() 

या

legend = ax.legend(...) 
... 
legend.remove() 

प्रतिबद्ध जहां इस के लिए पेश किया गया था here देखें।

15

आप में से निम्नलिखित लाइनों जोड़ने के लिए (निकटतम मैं इस के लिए आया था ताकि डेटा से कथा खाली करने में legend([]) चलाने के लिए है। लेकिन वह ऊपरी दाएँ कोने में एक बदसूरत सफेद आयत छोड़ देता है।) कोड:

ax = gca() 
ax.legend_ = None 
draw() 

GCA() रिटर्न वर्तमान कुल्हाड़ियों संभाल है और उस प्रॉपर्टी legend_

+0

धन्यवाद, यह काम करता है। (लेकिन क्या एक भयानक इंटरफ़ेस ...) मैं 'draw()' 'draw()' को प्रतिस्थापित करने का सुझाव देता हूं। या 'ड्रा' का उपयोग करने में कोई विशेष फायदा है? –

+0

'शो()' ठीक होगा यदि ग्राफ़ अपडेट किसी प्रोग्राम का अंतिम आदेश था। 'ड्रा()' ठीक है, क्योंकि यह सामान्य ग्राफ अपडेट कमांड है। उदाहरण के लिए आप ग्राफ़ को अपडेट करने के बाद टर्मिनल में कुछ इनपुट के लिए उपयोगकर्ता को संकेत देना चाहते हैं, जो अवरुद्ध 'शो() 'के साथ नहीं किया जा सकता है। – EOL

+0

दाएं। जवाब के लिए धन्यवाद। अब मैं सहमत हूं कि 'ड्रा' अधिक उपयुक्त है (लेकिन मैंने हमेशा अपने ग्राफ अपडेट करने के लिए' शो 'का उपयोग किया है ...)। –

60

आप किंवदंती के set_visible विधि का उपयोग कर सकते हैं:

ax.legend().set_visible(False) 
draw() 

यह एक ऐसी ही सवाल के जवाब में मुझे प्रदान की एक जवाब पर आधारित है मैं कुछ समय पहले here था

(धन्यवाद है कि इसका जवाब Jouni के लिए - जवाब के रूप में मैं माफी चाहता मैं सवाल चिह्नित करने के लिए असमर्थ था हूँ ... शायद कोई जिसके पास प्राधिकरण है, वह मेरे लिए ऐसा कर सकता है?)

+3

यह केवल किंवदंती को छुपाता है और वास्तव में यह वस्तु को हटा नहीं देता है, है ना? – vlsd

41

यदि आप एक पांडस डेटाफ्रेम प्लॉट करना चाहते हैं और किंवदंती को हटाना चाहते हैं, तो किंवदंती = प्लॉट कमांड में पैरामीटर के रूप में कोई भी नहीं जोड़ें।

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

df2 = pd.DataFrame(np.random.randn(10, 5)) 
df2.plot(legend=None) 
plt.show()