Matplotlib Achsenbereich

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir lernen, wie man den Matplotlib Axes Divider verwendet, um benutzerdefinierte Layouts für Teilplots in einer Abbildung zu erstellen.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine 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 von 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 ab, und wir werden das Problem für Sie prompt beheben.

Importieren der erforderlichen Bibliotheken

Wir beginnen mit dem Importieren der erforderlichen Bibliotheken für dieses Lab: matplotlib.pyplot und mpl_toolkits.axes_grid1.

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import Divider
import mpl_toolkits.axes_grid1.axes_size as Size

Festlegen der Abbildung und der Achsen

Wir werden ein Figurenobjekt erstellen und vier Achsenobjekte mit der fig.add_axes-Methode einrichten.

fig = plt.figure(figsize=(5.5, 4))
rect = (0.1, 0.1, 0.8, 0.8)
ax = [fig.add_axes(rect, label="%d" % i) for i in range(4)]

Einrichten des Achsenbereichs

Wir werden den Achsenbereich mit der Divider-Klasse und den AxesX- und AxesY-Klassen aus dem mpl_toolkits.axes_grid1.axes_size-Modul einrichten. Anschließend werden wir die new_locator-Methode verwenden, um die Position jeder Achse festzulegen.

horiz = [Size.AxesX(ax[0]), Size.Fixed(.5), Size.AxesX(ax[1])]
vert = [Size.AxesY(ax[0]), Size.Fixed(.5), Size.AxesY(ax[2])]
divider = Divider(fig, rect, horiz, vert, aspect=False)

ax[0].set_axes_locator(divider.new_locator(nx=0, ny=0))
ax[1].set_axes_locator(divider.new_locator(nx=2, ny=0))
ax[2].set_axes_locator(divider.new_locator(nx=0, ny=2))
ax[3].set_axes_locator(divider.new_locator(nx=2, ny=2))

Anpassen der Achsengrenzen und des Aussehens

Wir werden die Grenzen und das Aussehen jeder Achse mit den Methoden set_xlim, set_ylim und tick_params anpassen.

ax[0].set_xlim(0, 2)
ax[1].set_xlim(0, 1)
ax[0].set_ylim(0, 1)
ax[2].set_ylim(0, 2)
for ax1 in ax:
    ax1.tick_params(labelbottom=False, labelleft=False)

Zeige das Diagramm an

Schließlich werden wir das Diagramm mit der show-Methode anzeigen.

plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man den Matplotlib Axes Divider verwendet, um benutzerdefinierte Layouts für Teilplots in einer Abbildung zu erstellen. Wir haben ein Figurenobjekt erstellt und vier Achsenobjekte eingerichtet, und dann den Achsenbereich verwendet, um die Achsen in einem Gitter zu positionieren. Wir haben die Grenzen und das Aussehen jeder Achse angepasst und das Diagramm mit der show-Methode angezeigt.