Anzahl der Ticks in Matplotlib festlegen
-
Setzen Sie die Anzahl der Ticks mit der Klasse
Matplotlib.ticker.MaxNLocator
-
Anzahl der Ticks mit der Methode
Matplotlib.axis.Axis.set_ticks()
setzen
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:
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:
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:
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:
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 is a backend software engineer at Matrice.ai.
LinkedIn