Anzahl der Ticks in Matplotlib festlegen

Suraj Joshi 30 Januar 2023
  1. Setzen Sie die Anzahl der Ticks mit der Klasse Matplotlib.ticker.MaxNLocator
  2. Anzahl der Ticks mit der Methode Matplotlib.axis.Axis.set_ticks() setzen
Anzahl der Ticks in Matplotlib festlegen

Dieses Tutorial erklärt, wie man die Anzahl der Ticks in einer Matplotlib-Figur mit Hilfe der Klasse Matplotlib.ticker.MaxNLocator und der Methode set_ticks() einstellen kann.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Ausgabe:

Standard-Ticks in der Matplotlib

Es zeigt eine Matplotlib-Figur mit der Standardanzahl von Ticks. Wir werden die Anzahl der Ticks in der Abbildung mit verschiedenen Methoden ändern.

Setzen Sie die Anzahl der Ticks mit der Klasse Matplotlib.ticker.MaxNLocator

Die Klasse Matplotlib.ticker.MaxNLocator definiert einen Parameter namens nbins, der die maximale Anzahl von Bins darstellt. Die Anzahl der Ticks ist um eins höher als die Anzahl der Bins. Daher impliziert der Parameter nbins in der Klasse Matplotlib.ticker.MaxNLocator, dass die Anzahl der Ticks nicht mehr als nbins+1 betragen kann.

import math
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import MaxNLocator

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.yaxis.set_major_locator(MaxNLocator(5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Ausgabe:

Setzen Sie die Anzahl der Plott-Ticks mit Hilfe der Klasse Matplotlib.ticker.MaxNLocator

Er setzt die maximale Anzahl der Bins für die Y-Achse in der Abbildung auf 5, was bedeutet, dass die maximale Anzahl der Ticks 6 beträgt. In ähnlicher Weise können wir auch für die X-Achse Ticks setzen.

Alternativ können wir auch bestimmte Bedingungen mit der if-Anweisung verwenden, um nur die bestimmten Ticks auszuwählen, die die Bedingung erfüllen.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
for i, tick in enumerate(axes.xaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
for i, tick in enumerate(axes.yaxis.get_ticklabels()):
    if i % 2 != 0:
        tick.set_visible(False)
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Ausgabe:

Setzen der Anzahl der Plott-Ticks mit der if-Bedingung

Sie setzt Tickbeschriftungen nur für Ticks an gerader Position sowohl auf der X- als auch auf der Y-Achse. Obwohl die Ticketiketten entfernt werden, sind die Ticks immer noch vorhanden. Wir können die Bedingung ändern, um die Ticketiketten anzupassen.

Anzahl der Ticks mit der Methode Matplotlib.axis.Axis.set_ticks() setzen

Wir können die Achsen auch mit der Matplotlib.axis.Axis.set_ticks() in Python setzen.

import math
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * math.pi, 100)
y = np.sin(x)

fig, axes = plt.subplots(1, 1)

axes.plot(x, y)
axes.xaxis.set_ticks([0, 1, 3, 4, 5, 6])
axes.yaxis.set_ticks(np.linspace(-1, 1, 5))
axes.set_title("Sinx Function")
axes.set_xlabel("X")
axes.set_ylabel("sinX")
plt.show()

Ausgabe:

Setzen der Anzahl der Plott-Ticks mit der set_ticks-Methode

Sie setzt die Anzahl der Ticks und Tick-Werte, die in der set_ticks() Methode angegeben sind. Wir übergeben ein NumPy-Array oder eine Liste an die Methode set_ticks(), auf deren Grundlage die Tick-Werte gesetzt werden.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Matplotlib Ticks