Haupt- und Nebenstriche#

Demonstriert die Verwendung von Haupt- und Nebentick-Lokalisatoren.

Die beiden relevanten Klassen sind Locators und Formatters. Lokalisatoren bestimmen, wo die Ticks platziert werden, und Formatierer steuern die Formatierung der Tick-Beschriftungen.

Nebenticks sind standardmäßig deaktiviert (mit NullLocator und NullFormatter). Nebenticks können ohne Beschriftungen aktiviert werden, indem der Nebentick-Lokalisator gesetzt wird. Nebentick-Beschriftungen können durch Setzen des Nebentick-Formatierers aktiviert werden.

MultipleLocator platziert Ticks auf Vielfachen einer Basis. StrMethodFormatter verwendet eine Formatierungszeichenfolge (z. B. '{x:d}' oder '{x:1.2f}' oder '{x:1.1f} cm'), um die Tick-Beschriftungen zu formatieren (die Variable in der Formatierungszeichenfolge muss 'x' sein). Für einen StrMethodFormatter kann die Zeichenfolge direkt an Axis.set_major_formatter oder Axis.set_minor_formatter übergeben werden. Ein geeigneter StrMethodFormatter wird automatisch erstellt und verwendet.

pyplot.grid ändert die Gittereinstellungen der Haupt-Ticks der x- und y-Achse zusammen. Wenn Sie das Gitter der Nebenticks für eine bestimmte Achse steuern möchten, verwenden Sie beispielsweise

ax.xaxis.grid(True, which='minor')

Beachten Sie, dass eine gegebene Lokalisator- oder Formatiererinstanz nur für eine einzelne Achse verwendet werden kann (da der Lokalisator Referenzen auf die Achsendaten und Ansichtsgrenzen speichert).

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.ticker import AutoMinorLocator, MultipleLocator

t = np.arange(0.0, 100.0, 0.1)
s = np.sin(0.1 * np.pi * t) * np.exp(-t * 0.01)

fig, ax = plt.subplots()
ax.plot(t, s)

# Make a plot with major ticks that are multiples of 20 and minor ticks that
# are multiples of 5.  Label major ticks with '.0f' formatting but don't label
# minor ticks.  The string is used directly, the `StrMethodFormatter` is
# created automatically.
ax.xaxis.set_major_locator(MultipleLocator(20))
ax.xaxis.set_major_formatter('{x:.0f}')

# For the minor ticks, use no labels; default NullFormatter.
ax.xaxis.set_minor_locator(MultipleLocator(5))

plt.show()
major minor demo

Automatische Tick-Auswahl für Haupt- und Nebenticks.

Verwenden Sie interaktives Schwenken und Zoomen, um zu sehen, wie sich die Tick-Intervalle ändern. Je nach Hauptintervall gibt es entweder 4 oder 5 Nebenintervall-Ticks pro Hauptintervall.

Man kann AutoMinorLocator ein Argument übergeben, um eine feste Anzahl von Nebentick-Intervallen pro Hauptintervall festzulegen, z. B. würde AutoMinorLocator(2) einen einzigen Nebentick zwischen Hauptticks ergeben.

t = np.arange(0.0, 100.0, 0.01)
s = np.sin(2 * np.pi * t) * np.exp(-t * 0.01)

fig, ax = plt.subplots()
ax.plot(t, s)

ax.xaxis.set_minor_locator(AutoMinorLocator())

ax.tick_params(which='both', width=2)
ax.tick_params(which='major', length=7)
ax.tick_params(which='minor', length=4, color='r')

plt.show()
major minor demo

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

Galerie generiert von Sphinx-Gallery