2014-09-18 6 views
6

Ich möchte den Rahmen um das Legendenfeld entfernen. Ich habe wenige Wege gefunden. Keine implementiert sie jedoch mit "Achsenmethode".Entfernen Rahmen um Legende in Python Objektorientierte Darstellung

Der folgende Code wird das Ergebnis gezeigt, aber ich wünschte, eine sauberere, eleganter Weg, zu wissen, vielleicht wie ax.legend.draw_frame(False) oder etwas ähnliches. Irgendwelche Ideen, wenn so ein Weg besteht, ohne pylab zu benutzen?

Lösung: Einsatz von ax.legend(numpoints=1, loc=3, frameon=False) Make von 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) scheint ein Schlüsselwort Argument' frameon' zu haben ; hast du das probiert ('ax.legend (numpoints = 1, loc = 2, frameon = False)'? – Evert

+0

Haha, das macht das. Wo findest du mehr über legende()? Matplotlib 1.4.0 hatte nichts über das. Dank! – Rohit

+0

Suche nach „matplotlib Achse Legende“ werden Sie direkt führen (je nach Suchmaschine) auf die matplotlib Dokumentation über die Legende api. – Evert

Antwort

3

vorgeschlagen als A @Evert ich um so zu beantworten, nicht will, werde es tun markieren als gelöst. Aber bitte geben Sie ihm Punkte.

Nutzen Sie ax.legend(numpoints=1, loc=3, frameon=False) wie Evert vorgeschlagen

Verwandte Themen