Heim >Backend-Entwicklung >Python-Tutorial >Wie teile ich die x-Achse von Unterplots in Matplotlib nach der Erstellung dynamisch?

Wie teile ich die x-Achse von Unterplots in Matplotlib nach der Erstellung dynamisch?

DDD
DDDOriginal
2024-10-25 05:58:02660Durchsuche

How do I dynamically share the x-axis of subplots in Matplotlib after creation?

X-Achsen von Unterhandlungen dynamisch teilen

Problem:Die X-Achsen von zwei Unterhandlungen gemeinsam nutzen, nachdem sie erstellt wurden.

Lösung:

Das Teilen von Achsen erfolgt normalerweise während ihrer Erstellung mithilfe des Sharex-Parameters. In Fällen, in denen Unterhandlungen jedoch bereits erstellt wurden, ist es möglich, deren x-Achsen mit ax2.sharex(ax1) zu teilen.

Hier ist ein Python-Codebeispiel, um diesen Ansatz zu veranschaulichen:

<code class="python">import matplotlib.pyplot as plt

t = np.arange(1000) / 100
x = np.sin(2 * np.pi * 10 * t)
y = np.cos(2 * np.pi * 10 * t)

fig = plt.figure()
ax1 = plt.subplot(211)  # Create subplot 1
ax2 = plt.subplot(212)  # Create subplot 2

# Plot data in the subplots
ax1.plot(t, x)
ax2.plot(t, y)

# Share the x-axes between the subplots
ax2.sharex(ax1)

# Disable tick labels for one of the subplots to avoid duplication
ax1.set_xticklabels([])

plt.show()</code>

In diesem Code verwenden wir nach dem Erstellen der Unterhandlungen ax2.sharex(ax1), um die x-Achsen der beiden Unterhandlungen zu verknüpfen. Um doppelte Teilstrichbeschriftungen zu verhindern, deaktivieren wir sie manuell für Achse1.

Alternativ können Sie eine Schleife verwenden, um x-Achsen für eine Liste von Unterplots zu teilen, wie zum Beispiel:

<code class="python">axes = [ax1, ax2, ax3]

for ax in axes[1:]:
    ax.sharex(axes[0])</code>

Das obige ist der detaillierte Inhalt vonWie teile ich die x-Achse von Unterplots in Matplotlib nach der Erstellung dynamisch?. 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