


Wie kann die Größe der Figurenbox dynamisch erweitert werden, um eine expandierende Legende in Matplotlib aufzunehmen?
Oct 18, 2024 pm 12:51 PMErweitern des Abbildungsfelds, um mehr Legende unterzubringen
Problembeschreibung
Beim Platzieren einer Legende außerhalb der Achse in Matplotlib kann es gelegentlich vorkommen, dass sie über die Achse hinausragt Grenzen des Figurenfeldes, was zu einem abgeschnittenen Erscheinungsbild führt. Die Größenänderung der Achsenachsen durch Verkleinern ist keine optimale Lösung, da dadurch die Sichtbarkeit der Daten verringert wird.
Dynamische Erweiterung der Abbildungsbox
Die gewünschte Lösung besteht darin, die Größe der Abbildungsbox dynamisch zu erweitern Platzieren Sie eine expandierende Legende.
Implementierung: Benutzerdefinierter Savefig-Aufruf mit bbox_extra_artists
Um dies zu erreichen, kann der Savefig-Funktionsaufruf so angepasst werden, dass er das Argument bbox_extra_artists enthält:
<code class="python">fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
Dies gibt an, dass das Figurenfeld bei der Berechnung seiner Größe zusätzliche Künstler wie die Legende (lgd) berücksichtigen soll.
Beispiel und Ergebnis
Verwendung dieses modifizierten Savefig-Aufrufs:
<code class="python">import matplotlib.pyplot as plt import numpy as np fig = plt.figure(1) ax = fig.add_subplot(111) ax.set_title("Trigonometry") ax.plot(x, np.sin(x), label='Sine') ax.plot(x, np.cos(x), label='Cosine') ax.plot(x, np.arctan(x), label='Inverse tan') lgd = ax.legend(loc='upper center', bbox_to_anchor=(0.5,-0.1)) ax.grid('on') fig.savefig('samplefigure', bbox_extra_artists=(lgd,), bbox_inches='tight')</code>
Erzeugt eine Figur, deren Legende über die Achse hinausragt, aber im erweiterten Figurenfeld untergebracht ist:
Trigonometry 2 1 0 -1 -2 -4π -2π 0 2π 4π Inverse tan Cosine Sine
Das obige ist der detaillierte Inhalt vonWie kann die Größe der Figurenbox dynamisch erweitert werden, um eine expandierende Legende in Matplotlib aufzunehmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie benutze ich eine schöne Suppe, um HTML zu analysieren?

So herunterladen Sie Dateien in Python

So verwenden Sie Python, um die ZiPF -Verteilung einer Textdatei zu finden

Wie man mit PDF -Dokumenten mit Python arbeitet

Wie kann man mit Redis in Django -Anwendungen zwischenstrichen

Wie führe ich ein tiefes Lernen mit Tensorflow oder Pytorch durch?

So implementieren Sie Ihre eigene Datenstruktur in Python
