Matplotlib -Legendort

Matplotlib -Legendort

Matplotlib ist ein großartiges Python -Visualisierungspaket für 2D -Array -Diagramme. Die Legende ist ein Abschnitt, der die Teile der Grafiken definiert. Legend () ist eine Methode im Matplotlib -Paket, mit der eine Legende in Diagramme angezeigt wird. Der LOC -Parameter in der Legend () -Methode kann verwendet werden, um die Platzierung der Legende anzuzeigen. Loc = "Best" ist der Standardwert (oben links). Die Legende befindet sich in der geeigneten Position der Figuren durch die Parameter am besten oben rechts, oben links, unten links, rechts, unten rechts, mitte links, unterher. Diagrammlegenden bieten einen visuellen Kontext durch die Implementierung des Gutes für die Handlungskomponenten.

Lassen Sie uns in diesem Artikel untersuchen, wie Sie die Positionierung und Ästhetik der Legende in Matplotlib anpassen können.

Standort der Legende

Der Begriff "loc" als Parameter könnte verwendet werden, um die Platzierung der Legende anzuzeigen. In diesem Fall sehen wir die Methode, wie wir die Legende lokalisieren.

Matplotlib importieren.Pyplot als PLT
Numph als NP importieren
Fig, ax_dict = plt.subplot_mosaic (['top', 'top'], ['boden', 'leer']],
leere_sentinel = "leer")
ax_dict ['top'].Diagramm ([2, 3, 4], Label = "Label1")
ax_dict ['top'].Diagramm ([4, 3, 2], Label = "Label2")
ax_dict ['top'].Legende (bbox_to_anchor = (0)., 1.02, 1., .102), loc = 'unter links',
ncol = 2, modus = "expand", borderaxespad = 0.)
ax_dict ['boden'].Diagramm ([2, 3, 4], Label = "Label1")
ax_dict ['boden'].Diagramm ([4, 3, 2], Label = "Label2")
ax_dict ['boden'].Legende (bbox_to_anchor = (1.05, 1),
loc = 'oben links', Borderaxespad = 0.)
PLT.zeigen()

Der Befehl bbox_to_anchor ermöglicht uns viel Flexibilität, wenn es darum geht, die Legenden manuell zu positionieren. Wenn wir möchten, dass die Achsenlegende eher auf der oberen rechten Seite des Modells als in der Rand der Achsen erscheint, stellen wir einfach die Position und die dreidimensionale Position der Ecke an.

Eine Legende wird direkt jenseits der Nebenhandlung eingefügt, und sie erweitert sich zu. Wir nutzen auch den Grenzbox, der zur Verfügung gestellt wurde. Eine Legende wird rechts von der kleineren Nebenhandlung im zweiten Diagramm hinzugefügt.

Geben Sie die Standortinformationen an

Die plt.Die Legend () -Funktion, die automatisch eine Legende für jeden identifizierten Handlungspunkt erzeugt, ist die einfachste Methode, um eine Legende zu entwickeln. Es gibt jedoch zahlreiche Methoden, um eine solche Legende zu ändern. Wir können die Position definieren und den Rahmen deaktivieren.

Matplotlib importieren.Pyplot als PLT
PLT.Stil.Verwendung ('klassisch')
Numph als NP importieren
x = np.Linspace (0, 20, 2000)
Fig, Ax = PLT.Nebenhandlungen ()
Axt.Diagramm (x, np.Sünde (x), '-b', Label = 'Sinine')
Axt.Diagramm (x, np.cos (x), '--r', label = 'Cosinus')
Axt.Achse ('gleich')
Bein = Axe.Legende();
Axt.Legende (loc = 'oben links', Frameon = false)
Feige
Axt.Legende (Frameon = False, loc = 'Lower Center', ncol = 3)
Feige
Axt.Legende (FancyBox = True, Fromealpha = 1, Shadow = True, Borderpad = 2)
Feige

Um die Anzahl der Zeilen in der Legende herauszufinden, müssen wir den Befehl "ncol" verwenden. Wir fügen auch einen Farbton hinzu, passen die Sichtbarkeit (Alpha -Wert) des Rahmens an oder ändern den Abstand um den Inhalt mithilfe einer abgerundeten Box (FancyBox) um den Inhalt um den Inhalt.

Identifizierung der Elemente der Legende

Standardmäßig umfasst die Legende alle beschrifteten Elemente. Wenn es nicht das ist, was wir wollen, werden wir die Elemente verwenden, die von Plotbefehlen bereitgestellt werden, um zu optimieren, welche Komponenten und Titel in der Legende angezeigt werden.

Matplotlib importieren.Pyplot als PLT
PLT.Stil.Verwendung ('klassisch')
Numph als NP importieren
x = np.Linspace (0, 16, 2000)
Fig, Ax = PLT.Nebenhandlungen ()
y = np.Sünde (x [: np.Newaxis] + np.pi * np.Arange (0, 2, 0.5)))
Linien = PLT.Diagramm (x, y)
PLT.Legende (Linien [: 2], ['First', 'Second']);
PLT.Diagramm (x, y [: 0], Label = 'First')
PLT.Diagramm (x, y [:, 1], Label = 'Second')
PLT.Diagramm (x, y [:, 2:])
PLT.Legende (Framealpha = 1, Frameon = true);

Die plt.Die Funktion plot () kann zahlreiche Linien gleichzeitig konstruieren und liefert eine Liste der gebildeten Zeilen. Indem Sie eine davon an PLT zur Verfügung stellen.Legend () können wir angeben, welche Elemente sowohl zu finden sind als auch die Etiketten, die wir verwenden möchten. Die Legende beseitigt Elemente ohne standardmäßig bereitgestelltes Titelattribut.

Mehrere Legenden

Beim Erstellen einer Handlung möchten wir möglicherweise verschiedene Legenden in derselben Achse einbeziehen. Matplotlib macht dies jedoch irgendwie nicht einfach. Wir können nur eine einzigartige Legende für die übergreifende Handlung mit der herkömmlichen Legendenmethode erstellen.

Wenn wir PLT verwenden wollen.Legend () oder Axe.Legend (), um eine zweite Legende zu bauen, wird sie die erste aufrufen. Wir können dies tun, indem wir von Anfang an einen Legendenkünstler hinzufügen und dann den neuen Künstler explizit zur Handlung hinzufügen, die die Axt auf unterer Ebene verwendet.Fügen Sie Artist () Technik hinzu.

Wie wir bemerken, enthält die Methode nur eine grundlegende Logik für die Festlegung eines geeigneten Legendenkünstlers, der dann im Attribut legend_ gespeichert und in das Diagramm eingefügt wird, wenn das Diagramm erstellt wird.

Außerhalb des Grundstücks

Wir verwenden Matplotlib, um zu verhindern, dass ein Legendrahmen verkürzt wird. Wir werden bbox_extra_artists und bbox_inches anwenden, um sicherzustellen, dass die Legende nicht zugeschnitten wird. BBOX_EXTRA -Künstler geben die Liste der Künstler an, die beim Berechnen der engen Bbox berücksichtigt werden würde. Wenn bbox_inches so eingestellt werden, dass sie kompakt ist, wird eine angespannte Bbox für die Abbildung erstellt.

Matplotlib importieren.Pyplot als PLT
Numph als NP importieren
x = np.Linspace (0, 20, 3)
y = np.cos (x)
y1 = np.Exp (x)
PLT.Diagramm (x, y, label = "cos (x)")
PLT.Diagramm (x, y1, label = "exp (x)")
legend_outside = plt.Legende (bbox_to_anchor = (1.05, 0.0),
loc = 'unten rechts')
PLT.SaveFig ('Outside_Legend.png ',
DPI = 100,
format = 'png',
bbox_extra_artists = (legend_outside),
bbox_inches = 'eng')
PLT.zeigen()

Für visuelle Analysen integrieren wir Matplotlib.Pyplot als PLT. Dann schließen wir für Metadaten Numpy als NP ein. Wir verwenden die Funktionen linspace (), cos () und exp (), um Datenabmessungen anzugeben. Wir verwenden die Methode Plot (), um die Grafik zu zeichnen. Wir verwenden die Funktion Legend () mit dem Argument Bbox_to_anchor, um die Legende aus der Außenhandlung hinzuzufügen. Das Diagramm wird dann als PNG -Datei mit der Methode SaveFig () gespeichert. Wir stellen die Argumente bbox_extra_artists und bbox_inches für die Methode SaveFig () zur Verfügung, um zu vermeiden, dass die Legende verkürzt wird.

Abschluss

Wir lernen einige Methoden, um den Ort der Legende in Matplotlib in diesem Artikel anzupassen. Die Standardposition für die Legende ist „am besten“, dh Matplotlib identifiziert eine Position für die Legende, die verhindert, dass alle Datensätze verdeckt werden. Der Parameter bbox_to_anchor () könnte auch verwendet werden, um die Legende außerhalb des Diagramms zu lokalisieren. In diesem Artikel haben wir auch die Methode erörtert, um den Komponenten der Handlung, die wir in der Legende anzeigen möchten. Die Legend -Standardeinstellungen reichen für eine bestimmte Visualisierung manchmal nicht aus. Vielleicht verwenden wir Werte von Punkten, um spezifische Aspekte der Daten zu veranschaulichen, sodass wir eine Legende erstellen müssen, um dies darzustellen. Darüber hinaus kann jeder Legendenort angezeigt werden.