Einführung
In diesem Lab werden wir lernen, wie das Verhalten der automatischen Tick-Positionierung in Matplotlib festgelegt wird. Standardmäßig wählt Matplotlib die Anzahl der Tick-Marks und Tick-Positionen so aus, dass es eine vernünftige Anzahl von Tick-Marks auf der Achse gibt und sie an "geraden" Zahlen platziert sind. Es kann jedoch keine Tick-Marks an den Rändern des Graphen geben. Wir werden lernen, wie wir die axes.autolimit_mode auf 'round_numbers' umschalten, um Tick-Marks an geraden Zahlen zu halten und auch Tick-Marks an den Rändern zu haben.
Tipps für die VM
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.
Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund der Einschränkungen in Jupyter Notebook nicht automatisiert werden.
Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Streudiagramm ohne autolimit_mode 'round_numbers'
In diesem Schritt werden wir ein Streudiagramm erstellen, ohne das autolimit_mode 'round_numbers' zu verwenden, und das Verhalten der automatischen Tick-Positionierung beobachten.
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()
Streudiagramm mit autolimit_mode 'round_numbers'
In diesem Schritt werden wir die axes.autolimit_mode auf 'round_numbers' umschalten und ein Streudiagramm erstellen, um Tick-Marks an geraden Zahlen zu halten und auch Tick-Marks an den Rändern zu haben.
plt.rcParams['axes.autolimit_mode'] = 'round_numbers'
fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
plt.show()
Streudiagramm mit zusätzlichem Rand
In diesem Schritt werden wir einen zusätzlichen Rand um die Daten festlegen, indem wir .Axes.set_xmargin / .Axes.set_ymargin verwenden, wobei das autolimit_mode mit geraden Zahlen weiterhin beachtet wird.
fig, ax = plt.subplots()
ax.scatter(x, y, c=x+y)
ax.set_xmargin(0.8)
plt.show()
Zusammenfassung
In diesem Lab haben wir gelernt, wie das Verhalten der automatischen Tick-Positionierung in Matplotlib festgelegt wird, indem wir die axes.autolimit_mode auf 'round_numbers' umschalten. Wir haben auch gelernt, wie ein zusätzlicher Rand um die Daten festgelegt werden kann, während das autolimit_mode mit geraden Zahlen weiterhin beachtet wird. Diese Techniken können verwendet werden, um die Tick-Positionen auf der Achse anzupassen und die Lesbarkeit des Graphen zu verbessern.