2016-06-20 8 views
4

Also muss ich dieses Diagramm in Python machen. Ich möchte die Grenze meiner Legende entfernen. Als ich jedoch die verschiedenen Lösungen ausprobierte, die andere Poster machten, konnten sie nicht mit mir arbeiten. Bitte helfen Sie.Kann nicht entfernt werden Legende Box [Python]

funktioniert das nicht:

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}) 
plt.legend(frameon=False) 

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}) 
plt.legend.get_frame().set_linewidth(0.0) 

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, 'Box', 'off') 

Außerdem, wenn ich aufgetragen, importierte ich zwei verschiedene Dateien und grafisch dargestellt, sie mit einer Linie und mit Kreise jeweils. Wie könnte ich eine Zeile oder einen Kreis in den Legendenschlüssel einfügen?

Das Grundstück:

enter image description here

+0

Können Sie dies mit einem minimalen Arbeitsbeispiel nachvollziehen? Weil die Verwendung von 'plt.legend (frameon = False)' noch nie bei mir gescheitert ist ... – Bart

Antwort

4

Es ist sehr seltsam, weil der Befehl:

plt.legend(frameon=False) 

Sollte sehr gut funktionieren. Sie können diesen Befehl auch versuchen, vergleichen:

plt.legend(frameon=None) 

Sie können auch die Dokumentation auf dieser Seite lesen plt.legend

ich etwas als Beispiel für Sie scripted:

import numpy as np 
import matplotlib.pyplot as plt 


x = np.array([0,4,8,13]) 
y = np.array([0,1,2,3]) 

fig1, ((ax1, ax2)) = plt.subplots(1, 2) 

ax1.plot(x,y, label=u'test') 
ax1.legend(loc='upper left', frameon=False) 

ax2.plot(x,y, label=u'test2') 
ax2.legend(loc='upper left', frameon=None) 

plt.show() 

enter image description here

0

Versuchen Sie dies, wenn Sie nur ein Diagramm zeichnen möchten (ohne Subplot)

plt.legend({'z$\sim$0.35', 'z$\sim$0.1','z$\sim$1.55'}, frameon=False) 

Es ist genug ein plt.legend. Der zweite schreibt den ersten um.

Verwandte Themen