Matplotlib-Funktionen zur Achsenkonfiguration
Matplotlib-Referenzdokumentation
Diese Funktionen werden verwendet, um den Bereich, die Skalierung, die Ticks, die Gitterlinien und das Aussehen der Achsen zu steuern.
Funktionsübersicht
| Funktion | Beschreibung |
|---|---|
| xlim() / ylim() | x/y-Achsenbereich abrufen oder festlegen |
| xscale() / yscale() | x/y-Achsenskalierung festlegen: 'linear', 'log', 'symlog', 'logit' |
| xticks() / yticks() | x/y-Achsen-Tick-Positionen und -Beschriftungen abrufen oder festlegen |
| tick_params() | Parameter für die Tick-Darstellung anpassen |
| ticklabel_format() | Format der Tick-Beschriftung festlegen (wissenschaftliche Notation usw.) |
| locator_params() | Parameter des Tick-Locators steuern |
| minorticks_on() / minorticks_off() | Minor-Ticks ein-/ausblenden |
| rgrids() | Radiale Gitterlinien für Polardiagramme festlegen |
| thetagrids() | Winkel-Gitterlinien für Polardiagramme festlegen |
| grid() | Gitterlinien ein- oder ausschalten |
| axis() | Achsenbereich und Darstellung komfortabel festlegen |
| box() | Die Achsenrahmenlinien umschalten |
| autoscale() | Die Achsen automatisch skalieren |
xlim() / ylim() - Achsenbereich
matplotlib.pyplot.xlim(*args, **kwargs) # 获取或设置 matplotlib.pyplot.ylim(*args, **kwargs)
xscale() / yscale() - Achsenskalierung
matplotlib.pyplot.xscale(value, **kwargs) matplotlib.pyplot.yscale(value, **kwargs) # value: 'linear', 'log', 'symlog', 'logit', 'function', 'asinh', ...
xticks() / yticks() - Ticks
matplotlib.pyplot.xticks(ticks=None, labels=None, **kwargs) matplotlib.pyplot.yticks(ticks=None, labels=None, **kwargs)
tick_params() - Tick-Darstellung
matplotlib.pyplot.tick_params(axis='both', **kwargs) # 常用参数: labelsize, labelcolor, rotation, direction, length, width, colors
ticklabel_format() - Tick-Label-Format
matplotlib.pyplot.ticklabel_format(*, axis='both', style='',
scilimits=None, useOffset=None, useLocale=None, useMathText=None)
grid() - Gitterlinien
matplotlib.pyplot.grid(visible=None, which='major', axis='both',
**kwargs)
axis() - Komfortfunktion für das Erscheinungsbild der Achsen
matplotlib.pyplot.axis(*args, **kwargs) # 可接受字符串: 'on', 'off', 'equal', 'scaled', 'tight', 'auto', 'square' # 可接受列表: [xmin, xmax, ymin, ymax]
box() - Rahmenlinien
matplotlib.pyplot.box(on=None)
autoscale() - Automatische Skalierung
matplotlib.pyplot.autoscale(enable=True, axis='both', tight=None)
locator_params() / minorticks
matplotlib.pyplot.locator_params(axis='both', tight=None, **kwargs) matplotlib.pyplot.minorticks_on() matplotlib.pyplot.minorticks_off()
Anwendungsbeispiele
Beispiel 1: Umfassende Achsenkonfiguration
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 100, 200)
y = x**2
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(14, 4),
layout='constrained')
# Linker Plot: lineare Koordinaten + benutzerdefinierte Ticks und Gitter
ax1.plot(x, y, 'steelblue')
ax1.set_xlim(0, 100)
ax1.set_ylim(0, 10000)
ax1.set_xticks([0, 25, 50, 75, 100])
ax1.set_yticks([0, 2500, 5000, 7500, 10000])
ax1.grid(True, linestyle='--', alpha=0.4)
ax1.set_title('Linear: benutzerdefinierte Ticks')
# Mittlerer Plot: logarithmische Koordinaten
ax2.loglog(x, y, 'coral')
ax2.grid(True, which='both', linestyle=':', Alpha=0.4)
ax2.set_title('loglog()')
# Rechter Plot: wissenschaftliche Notation
ax3.plot(x, y, 'green')
ax3.ticklabel_format(style='sci', axis='y',
scilimits=(0, 0))
ax3.minorticks_on()
ax3.grid(True, which='major', alpha=0.5)
ax3.grid(True, which='minor', alpha=0.15)
ax3.set_title('Wissenschaftliche Notation + kleine Teilstriche')
plt.show()
import numpy as np
x = np.linspace(0.1, 100, 200)
y = x**2
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(14, 4),
layout='constrained')
# Linker Plot: lineare Koordinaten + benutzerdefinierte Ticks und Gitter
ax1.plot(x, y, 'steelblue')
ax1.set_xlim(0, 100)
ax1.set_ylim(0, 10000)
ax1.set_xticks([0, 25, 50, 75, 100])
ax1.set_yticks([0, 2500, 5000, 7500, 10000])
ax1.grid(True, linestyle='--', alpha=0.4)
ax1.set_title('Linear: benutzerdefinierte Ticks')
# Mittlerer Plot: logarithmische Koordinaten
ax2.loglog(x, y, 'coral')
ax2.grid(True, which='both', linestyle=':', Alpha=0.4)
ax2.set_title('loglog()')
# Rechter Plot: wissenschaftliche Notation
ax3.plot(x, y, 'green')
ax3.ticklabel_format(style='sci', axis='y',
scilimits=(0, 0))
ax3.minorticks_on()
ax3.grid(True, which='major', alpha=0.5)
ax3.grid(True, which='minor', alpha=0.15)
ax3.set_title('Wissenschaftliche Notation + kleine Teilstriche')
plt.show()
Beispiel 2: Detaillierte tick_params-Konfiguration
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')
ax.plot(x, y, 'steelblue', linewidth=2)
# Tick-Erscheinungsbild im Detail konfigurieren
ax.tick_params(axis='x', # nur x-Achse
rotation=45, # Beschriftungen um 45 Grad drehen
labelsize=10, # Beschriftungsgröße
labelcolor='blue', # Beschriftungsfarbe
direction='in', # Teilstriche zeigen nach innen
length=6, # Länge der Teilstriche
width=1.5) # Breite der Teilstriche
ax.tick_params(axis='y',
labelsize=12,
labelcolor='red',
direction='inout', # Teilstriche sowohl innen als auch außen
length=8,
width=2,
colors='red') # Sowohl Teilstriche als auch Beschriftungen in Rot
ax.set_title('tick_params() Anpassung')
ax.grid(True, alpha=0.3)
plt.show()
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig, ax = plt.subplots(figsize=(8, 4), layout='constrained')
ax.plot(x, y, 'steelblue', linewidth=2)
# Tick-Erscheinungsbild im Detail konfigurieren
ax.tick_params(axis='x', # nur x-Achse
rotation=45, # Beschriftungen um 45 Grad drehen
labelsize=10, # Beschriftungsgröße
labelcolor='blue', # Beschriftungsfarbe
direction='in', # Teilstriche zeigen nach innen
length=6, # Länge der Teilstriche
width=1.5) # Breite der Teilstriche
ax.tick_params(axis='y',
labelsize=12,
labelcolor='red',
direction='inout', # Teilstriche sowohl innen als auch außen
length=8,
width=2,
colors='red') # Sowohl Teilstriche als auch Beschriftungen in Rot
ax.set_title('tick_params() Anpassung')
ax.grid(True, alpha=0.3)
plt.show()
Beispiel 3: axis() und box()
Beispiel
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-5, 5, 100)
fig, axes = plt.subplots(2, 2, figsize=(8, 8),
layout='constrained')
# 'equal': x- und y-Längeneinheiten sind gleich
axes[0,0].plot(x, np.sin(x))
axes[0,0].axis('equal')
axes[0,0].set_title("axis('equal')")
# 'square': quadratische Achsen
axes[0,1].plot(x, np.cos(x))
axes[0,1].axis('square')
axes[0,1].set_title("axis('square')")
# 'tight': eng an die Daten angepasst
axes[1,0].plot(x, x**2)
axes[1,0].axis('tight')
axes[1,0].set_title("axis('tight')")
# box(False) entfernt den Rahmen
axes[1,1].plot(x, np.sin(x))
axes[1,1].box(False)
axes[1,1].set_title('box(False) - Kein Rahmen')
plt.show()
print("Beispiel: Achsenkonfigurationsdemo")
import numpy as np
x = np.linspace(-5, 5, 100)
fig, axes = plt.subplots(2, 2, figsize=(8, 8),
layout='constrained')
# 'equal': x- und y-Längeneinheiten sind gleich
axes[0,0].plot(x, np.sin(x))
axes[0,0].axis('equal')
axes[0,0].set_title("axis('equal')")
# 'square': quadratische Achsen
axes[0,1].plot(x, np.cos(x))
axes[0,1].axis('square')
axes[0,1].set_title("axis('square')")
# 'tight': eng an die Daten angepasst
axes[1,0].plot(x, x**2)
axes[1,0].axis('tight')
axes[1,0].set_title("axis('tight')")
# box(False) entfernt den Rahmen
axes[1,1].plot(x, np.sin(x))
axes[1,1].box(False)
axes[1,1].set_title('box(False) - Kein Rahmen')
plt.show()
print("Beispiel: Achsenkonfigurationsdemo")
Andere Erweiterungen