Plots mit unterschiedlichen Skalen#

Zwei Plots auf derselben Achse mit unterschiedlichen linken und rechten Skalen.

Der Trick besteht darin, zwei verschiedene Achsen zu verwenden, die sich dieselbe x-Achse teilen. Sie können separate matplotlib.ticker-Formatierer und Locators nach Belieben verwenden, da die beiden Achsen unabhängig voneinander sind.

Solche Achsen werden durch Aufrufen der Methode Axes.twinx generiert. Ebenso ist Axes.twiny verfügbar, um Achsen zu generieren, die sich eine y-Achse teilen, aber unterschiedliche obere und untere Skalen haben.

import matplotlib.pyplot as plt
import numpy as np

# Create some mock data
t = np.arange(0.01, 10.0, 0.01)
data1 = np.exp(t)
data2 = np.sin(2 * np.pi * t)

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time (s)')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  # instantiate a second Axes that shares the same x-axis

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  # we already handled the x-label with ax1
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

fig.tight_layout()  # otherwise the right y-label is slightly clipped
plt.show()
two scales

Referenzen

Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt

Schlagwörter: component: axes plot-type: line level: beginner

Gesamtlaufzeit des Skripts: (0 Minuten 1,039 Sekunden)

Galerie generiert von Sphinx-Gallery