2014-09-18 10 views
6

में किंवदंती के चारों ओर फ्रेम निकालें, मैं किंवदंती बॉक्स के चारों ओर फ्रेम को हटाना चाहता हूं। मुझे कुछ तरीके मिले। हालांकि, कोई भी "अक्ष विधि" के साथ उन्हें लागू नहीं करता है।पायथन ऑब्जेक्ट-ओरिएंटेड प्लॉटिंग

नीचे दिखाया गया कोड परिणाम प्राप्त करता है लेकिन मैं एक क्लीनर, अधिक सुरुचिपूर्ण तरीका जानना चाहता हूं, शायद ax.legend.draw_frame(False) या कुछ इसी तरह की। कोई विचार अगर पिलैब का उपयोग किये बिना ऐसा कोई तरीका मौजूद है?

समाधान: ax.legend(numpoints=1, loc=3, frameon=False) के उपयोग के रूप द्वारा Evert

import numpy as np 
import matplotlib.pyplot as plt 
from pylab import legend 

x = np.linspace(1,10, 100) 
y = x**3 

fig = plt.figure() 
ax = fig.add_subplot(1,1,1) 
ax.plot(x,y, 'bo', label='Blah!') 
lg = legend(numpoints = 1, loc=2) 
lg.get_frame().set_alpha(0) 
#ax.legend(numpoints = 1, loc=2) 

plt.show() 
+5

[ 'legend'] (http://matplotlib.org/api/legend_api.html#matplotlib.legend.Legend) एक कीवर्ड तर्क' frameon' है लगता है ; क्या आपने कोशिश की है ('ax.legend (numpoints = 1, loc = 2, frameon = झूठा)'? – Evert

+0

हां, ऐसा करता है। आप किंवदंती() के बारे में और कहां पाते हैं। Matplotlib 1.4.0 के बारे में कुछ भी नहीं था यह धन्यवाद! – Rohit

+0

"matplotlib axis legend" के लिए खोजना आपको लीजेंड एपीआई पर matplotlib दस्तावेज़ीकरण के लिए सीधे (आपके खोज इंजन के आधार पर) ले जाएगा। – Evert

उत्तर

3

सुझाव @Evert के रूप में हल मैं ताकि इसे चिह्नित करने के लिए ऐसा करेंगे जवाब देने के लिए इच्छा नहीं करता है सुनिश्चित करें। लेकिन कृपया उसे अंक दें।

ax.legend(numpoints=1, loc=3, frameon=False) की

उपयोग करें के रूप में एवर्ट ने सुझाव दिया

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