2017-06-17 6 views
1

Ich möchte einen Legendentext ohne einen Schlüssel (das rechteckige Feld oder die Linie, die standardmäßig angezeigt wird) anzeigen.Legendenschlüssel in Matplotlib entfernen

plt.hist(x, label = 'something') 

enter image description here

Ich will nicht das Feld neben der Legende "etwas". Wie man es entfernt?

Antwort

2

Als Erstes können Sie entscheiden, überhaupt keine Legende zu erstellen und stattdessen ein Etikett in die Ecke des Diagramms zu legen.

import matplotlib.pyplot as plt 
import numpy as np 

x = np.random.normal(size=160) 
plt.hist(x) 

plt.text(0.95,0.95, 'something', ha="right", va="top", transform=plt.gca().transAxes) 
plt.show() 

enter image description here

Wenn Sie bereits die Legende erstellt und es entfernen möchten, können Sie dies tun, indem

plt.gca().get_legend().remove() 

und dann den Text stattdessen hinzufügen.

Wenn dies nicht möglich ist, kann so eingestellt Sie die Legende wie so unsichtbar Griff:

import matplotlib.pyplot as plt 
import numpy as np 

x = np.random.normal(size=160) 
plt.hist(x, label = 'something') 

plt.legend() 

leg = plt.gca().get_legend() 
leg.legendHandles[0].set_visible(False) 

plt.show() 

enter image description here

+0

Ich wusste Text aber dachte, dass dies in matplotlib getan werden könnte. Vielen Dank! – Peaceful

Verwandte Themen