Matplotlib - Achsen formatieren

Manchmal sind ein oder mehrere Punkte viel größer als der Großteil der Daten. In einem solchen Fall muss der Maßstab einer Achse als logarithmisch und nicht als normaler Maßstab eingestellt werden. Dies ist die logarithmische Skala. In Matplotlib ist es möglich, die xscale- oder vscale-Eigenschaft des Achsenobjekts auf 'log' zu setzen.

Manchmal muss auch ein zusätzlicher Abstand zwischen den Achsnummern und der Achsenbeschriftung angegeben werden. Die Labelpad-Eigenschaft einer der Achsen (x oder y oder beide) kann auf den gewünschten Wert eingestellt werden.

Beide oben genannten Funktionen werden anhand des folgenden Beispiels demonstriert. Die Unterzeichnung auf der rechten Seite hat eine logarithmische Skala und eine auf der linken Seite hat eine x-Achse mit einer Beschriftung in größerem Abstand.

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal scale")
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_yscale("log")
axes[1].set_title("Logarithmic scale (y)")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
plt.show()

Achsenstacheln sind die Linien, die Achsenmarkierungen verbinden, die die Grenzen des Plotbereichs abgrenzen. Das Achsenobjekt hat oben, unten, links und rechts Stacheln.

Jeder Rücken kann durch Angabe von Farbe und Breite formatiert werden. Jede Kante kann unsichtbar gemacht werden, wenn ihre Farbe auf keine gesetzt ist.

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.spines['bottom'].set_color('blue')
ax.spines['left'].set_color('red')
ax.spines['left'].set_linewidth(2)
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()