Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Matplotlib-Subplots mit flexibel konfigurierbaren Größen erstellen?

Wie kann ich Matplotlib-Subplots mit flexibel konfigurierbaren Größen erstellen?

Susan Sarandon
Susan SarandonOriginal
2024-12-15 06:55:12798Durchsuche

How Can I Create Matplotlib Subplots with Flexibly Configurable Sizes?

Unterplotgrößen flexibel in Matplotlib konfigurieren

Das Erstellen von Unterplots mit unterschiedlichen Größen ist eine häufige Anforderung bei der Visualisierung von Daten. Matplotlib bietet zwei Ansätze zum Anpassen der Subplot-Dimensionen: durch die Verwendung von GridSpec oder durch die Konfiguration der Figur selbst.

Verwenden der Matplotlib-Figur für die Subplot-Größenbestimmung

Im bereitgestellten Beispiel die Aufgabe besteht darin, zwei Nebenhandlungen zu erstellen, wobei die erste Nebenhandlung dreimal breiter ist als die zweite. Mithilfe des Konstruktors der Figur kann die Größe des ersten Diagramms mithilfe des Arguments figsize angepasst werden. Allerdings kann die Größe des zweiten Plots auf diese Weise nicht direkt gesteuert werden.

Lösung mit Schlüsselwortargumenten (Matplotlib >= 3.6.0)

Ab der Matplotlib-Version 3.6.0 können Schlüsselwortargumente direkt an plt.subplots und subplot_mosaic übergeben werden, um die width_ratios oder anzugeben height_ratios von Nebenplots. Dadurch entfällt die Notwendigkeit von GridSpec für diese spezielle Aufgabe.

import matplotlib.pyplot as plt

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, width_ratios=[3, 1])

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Save to PDF
f.savefig('custom_width_subplots.pdf')

Verwenden von Subplots mit Gridspec_kw

Für frühere Versionen von Matplotlib oder für eine detailliertere Kontrolle darüber Für das Subplot-Layout kann die Subplots-Funktion mit dem Argument „gridspec_kw“ verwendet werden. Bei diesem Ansatz werden eine Figur und einzelne Unterplots erstellt, die mit width_ratios oder height_ratios im Gridspec_kw-Wörterbuch angegeben werden.

import numpy as np
import matplotlib.pyplot as plt

# Generate data
x = np.arange(0, 10, 0.2)
y = np.sin(x)

# Create subplots with custom width ratios
f, (a0, a1) = plt.subplots(1, 2, gridspec_kw={'width_ratios': [3, 1]})

# Plot on subplots
a0.plot(x, y)
a1.plot(y, x)

# Tighten layout and save to PDF
f.tight_layout()
f.savefig('grid_figure.pdf')

Das obige ist der detaillierte Inhalt vonWie kann ich Matplotlib-Subplots mit flexibel konfigurierbaren Größen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn