Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich überlappende Unterplots in Matplotlib verhindern, wenn ich viele vertikal gestapelte Plots erstelle?

Wie kann ich überlappende Unterplots in Matplotlib verhindern, wenn ich viele vertikal gestapelte Plots erstelle?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-06 03:26:12648Durchsuche

Überlappende Unterplots in Matplotlib mit zahlreichen Plots

Beim Generieren einer Reihe vertikal gestapelter Plots in Matplotlib zur Anzeige auf einer Webseite ist es wichtig, einen angemessenen Abstand zwischen Unterplots sicherzustellen, um Überlappungen zu vermeiden. Trotz der Vergrößerung der Figur überlappen sich Nebenhandlungen häufig.

Aktuelle Implementierung

Der folgende Code veranschaulicht die aktuelle Implementierung:

import matplotlib.pyplot as plt
import my_other_module

titles, x_lists, y_lists = my_other_module.get_data()

fig = plt.figure(figsize=(10,60))
for i, y_list in enumerate(y_lists):
    plt.subplot(len(titles), 1, i)
    plt.xlabel("Some X label")
    plt.ylabel("Some Y label")
    plt.title(titles[i])
    plt.plot(x_lists[i],y_list)
fig.savefig('out.png', dpi=100)

Lösung: Enges Layout

Um dieses Problem zu beheben, sollten Sie die Verwendung in Betracht ziehen matplotlib.pyplot.tight_layout oder matplotlib.figure.Figure.tight_layout. Diese Funktionen passen die Nebenhandlungen und Abstände so an, dass sie sich nicht überlappen.

Beispiel

import matplotlib.pyplot as plt

fig, axes = plt.subplots(nrows=4, ncols=4, figsize=(8, 8))
fig.tight_layout() # Or equivalently,  "plt.tight_layout()"

plt.show()

Visueller Vergleich

Die folgenden Bilder veranschaulichen die Auswirkungen der Verwendung von Tight_layout:

Ohne Tight_layout

How Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?

Mit Tight_layout

How Can I Prevent Overlapping Subplots in Matplotlib When Creating Many Vertically Stacked Plots?

Das obige ist der detaillierte Inhalt vonWie kann ich überlappende Unterplots in Matplotlib verhindern, wenn ich viele vertikal gestapelte Plots erstelle?. 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