Wie man die Legende des Streudiagramms in Matplotlib erstellt

Suraj Joshi 15 Februar 2024
  1. Hinzufügen einer Legende zur 2D Streudiagramme in Matplotlib
  2. Hinzufügen einer Legende zum 3D Streudiagramm in Matplotlib
Wie man die Legende des Streudiagramms in Matplotlib erstellt

Legende ist einfach die Beschreibung der verschiedenen Elemente in einer Abbildung. Mit Hilfe der Funktion matplotlib.pyplot.legend können wir eine Legende eines Streudiagramms erzeugen.

Hinzufügen einer Legende zur 2D Streudiagramme in Matplotlib

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]

plt.scatter(x, y1, marker="x", color="r", label="x**2")
plt.scatter(x, y2, marker="o", color="b", label="2*x+1")
plt.legend()
plt.show()

Ausgabe:

Legende zu einem 2D-Streudiagramm hinzufügen

Wir haben in der Abbildung zwei getrennte Streudiagramme: eines, das durch x dargestellt wird, und ein anderes, das durch die o-Markierung. Wir weisen jedem Streudiagramm das label zu, das bei der Generierung der Legende als Tag verwendet wird. Dann erstellen wir die Legende in der Abbildung mit der Funktion legend() und zeigen schließlich die gesamte Abbildung mit der Methode show() an.

Wir können auch direkt ein Tupel von Beschriftungen als Argument an die Methode legend() übergeben und die Position der Legende mit dem Parameter loc der Methode legend() ändern.

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]

plt.scatter(x, y1, marker="x", color="r")
plt.scatter(x, y2, marker="o", color="b")
plt.legend(("x**2", "2*x+1"), loc="center left")
plt.show()

Ausgabe:

Hinzufügen einer Legende zu einem 2D-Streudiagramm unter Angabe der Position in Matplotlib

Durch dieses Verfahren entsteht eine Figur mit zwei Streudiagrammen und einer Legende, die in der Mitte links des Randkastens der Achsen platziert wird.

Hinzufügen einer Legende zum 3D Streudiagramm in Matplotlib

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 1, 4, 5, 6]

z1 = [i + j for (i, j) in zip(x, y)]
z2 = [3 * i - j for (i, j) in zip(x, y)]

axes = plt.subplot(111, projection="3d")
axes.plot(x, y, z1, "x", label="x+y")
axes.plot(x, y, z2, "o", label="3*x-y")

plt.legend(loc="upper left")
plt.show()

Ausgabe:

Legende zu einem 3D-Streudiagramm hinzufügen

Um eine Legende für 3D Streudiagramme zu erstellen, verwenden wir die plot() Methode anstelle der scatter() Methode; das liegt daran, dass die legend() Methode die Patch3DCollection, die von der scatter() Methode der Axes3D Instanz zurückgegeben wird, nicht unterstützt.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Verwandter Artikel - Matplotlib Scatter Plot

Verwandter Artikel - Matplotlib Legend