Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich X-Achsen von Matplotlib-Unterhandlungen nach ihrer Erstellung teilen?

Wie kann ich X-Achsen von Matplotlib-Unterhandlungen nach ihrer Erstellung teilen?

DDD
DDDOriginal
2024-10-25 00:47:02327Durchsuche

How Can I Share X Axes of Matplotlib Subplots After Their Creation?

Teilen der X-Achsen von Unterhandlungen nach der Erstellung

In matplotlib haben unabhängig voneinander erstellte Unterhandlungen separate x- und y-Achsen. Um Achsen zwischen Unterplots gemeinsam zu nutzen, wird normalerweise empfohlen, die gemeinsame Eigenschaft bei der Erstellung von Unterplots anzugeben.

Dieser Artikel befasst sich jedoch mit dem spezifischen Szenario der gemeinsamen Nutzung von X-Achsen, nachdem die Unterplots bereits erstellt wurden. Dies kann auftreten, wenn Bibliotheken verwendet werden, die bereits vorhandene Nebenplots generieren.

Achsenfreigabe nach der Erstellung

Um die x-Achsen zweier Nebenplots nach ihrer Erstellung zu verknüpfen, verwenden Sie die Methode sharex(ax):

<code class="python">ax2.sharex(ax1)</code>

wobei ax1 der Unterplot mit der gewünschten x-Achse ist und ax2 der Unterplot ist, für den Sie die x-Achse teilen möchten.

Handhabung von X-Tick-Beschriftungen

Nachdem Sie die x-Achsen freigegeben haben, müssen Sie die x-Tick-Beschriftungen auf einem der Unterplots deaktivieren, um Duplikate zu vermeiden.

<code class="python">ax1.set_xticklabels([])  # Disable x tick labels for ax1</code>

Überlegungen zur automatischen Skalierung

Je nach Bedarf möchten Sie dies möglicherweise Verwenden Sie die Methode autoscale() für den zweiten Unterplot (ax2), um dessen Y-Achsen-Skalierung anzupassen.

Beispiel

Betrachten Sie den folgenden Code, der zwei Unterplots erstellt und dann deren X-Achsen nachträglich teilt. Erstellung:

<code class="python">import numpy as np
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)
ax1.plot(t, x)
ax2 = plt.subplot(212)
ax2.plot(t, y)

ax2.sharex(ax1)
ax1.set_xticklabels([])
# ax2.autoscale()  # Uncomment for autoscaling

plt.show()</code>

Dieser Code generiert zwei Unterplots, jeder mit seiner eigenen y-Achse, aber mit derselben x-Achse. Die x-Tick-Beschriftungen sind im ersten Unterplot deaktiviert, um Duplikate zu vermeiden. Und bei Bedarf kann die automatische Skalierung auf den zweiten Unterplot zur Y-Achsen-Anpassung angewendet werden.

Das obige ist der detaillierte Inhalt vonWie kann ich X-Achsen von Matplotlib-Unterhandlungen nach ihrer Erstellung teilen?. 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