Hinweis
Zum Ende springen, um den vollständigen Beispielcode herunterzuladen.
Automatische Einstellung von Tick-Positionen#
Festlegen des Verhaltens der automatischen Platzierung von Ticks.
Standardmäßig wählt Matplotlib die Anzahl und Positionen der Ticks so, dass eine angemessene Anzahl von Ticks auf der Achse vorhanden ist und diese an "runden" Zahlen liegen.
Als Ergebnis können sich keine Ticks an den Rändern des Diagramms befinden.
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
fig, ax = plt.subplots()
dots = np.linspace(0.3, 1.2, 10)
X, Y = np.meshgrid(dots, dots)
x, y = X.ravel(), Y.ravel()
ax.scatter(x, y, c=x+y)
plt.show()

Wenn Sie Ticks an runden Zahlen beibehalten und auch Ticks an den Rändern haben möchten, können Sie rcParams["axes.autolimit_mode"] (Standard: 'data') auf 'round_numbers' setzen. Dies erweitert die Achsenlimits auf die nächste runde Zahl.
plt.rcParams['axes.autolimit_mode'] = 'round_numbers'
# Note: The limits are calculated at draw-time. Therefore, when using
# :rc:`axes.autolimit_mode` in a context manager, it is important that
# the ``show()`` command is within the context.
fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
plt.show()

Der Modus 'round_numbers' für Autolimit_mode wird weiterhin berücksichtigt, wenn Sie einen zusätzlichen Rand um die Daten mit Axes.set_xmargin / Axes.set_ymargin festlegen.
fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
ax.set_xmargin(0.8)
plt.show()

Gesamtlaufzeit des Skripts: (0 Minuten 2,248 Sekunden)