Wie man die Linienbreite von Linien in Matplotlib Legend ändert
-
set_linewidth()
Methode zum Setzen der Linienbreite in der Matplotliblegend
-
matplotlib.pyplot.setp()
Methode zur Einstellung der Linienbreite in der Matplotliblegend
Wir können die Linienbreite (Linienstärke) von Linien in einer Python-Matplotlib-Legende ändern, indem wir die set_linewidth()
-Methode des Legenden-Objekts und die setp()
-Methode der artist
-Objekte verwenden.
set_linewidth()
Methode zum Setzen der Linienbreite in der Matplotlib legend
Der Parameter linewidth
in der Plotfunktion kann verwendet werden, um die Breite des Plots eines bestimmten Objektes zu steuern, und die Methode set_linewidth()
kann verwendet werden, um die Breite der Linien der Legende in Matplotlib zu steuern.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y1, c="r", label="sinx", linewidth=3.0)
ax.plot(x, y2, c="g", label="cosx", linewidth=5.0)
leg = plt.legend()
leg.get_lines()[0].set_linewidth(6)
leg.get_lines()[1].set_linewidth(10)
plt.show()
Ausgabe:
Die Linienbreite von zwei Linien im Python-Matplotlib-Plot ist 3.0
bzw. 5.0
, und die Linienbreite der Linien in der Legende verwendet standardmäßig dieselbe Linienbreite wie im Plot.
leg = plt.legend()
leg.get_lines()[0].set_linewidth(6)
leg
ist das Python-Matplotlib-Objekt legend
und leg.get_lines()
gibt die Liste der Linieninstanzen in der Legende zurück.
set_linewidth()
könnte die Linienbreite (Liniendicke) der Legendenlinie so ändern, dass sie einen anderen Wert als im Plot hat.
matplotlib.pyplot.setp()
Methode zur Einstellung der Linienbreite in der Matplotlib legend
Die Methode matplotlib.pyplot.setp()
erlaubt es uns, die Eigenschaft von Pyplot-Objekten zu setzen. Wir können den Parameter linewidth
der Funktion setp()
verwenden, um die Linienbreite eines bestimmten Legendenobjekts zu setzen.
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-3, 3, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y1, c="r", label="sinx", linewidth=3.0)
ax.plot(x, y2, c="g", label="cosx", linewidth=5.0)
leg = plt.legend()
leg_lines = leg.get_lines()
leg_texts = leg.get_texts()
plt.setp(leg_lines[0], linewidth=6)
plt.setp(leg_lines[1], linewidth=12)
plt.setp(leg_texts, fontsize=10)
plt.show()
Ausgabe:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn