Comment définir la largeur de ligne des lignes dans la légende Matplotlib
-
Méthode
set_linewidth()
pour définir la largeur de ligne dans Matplotliblegend
-
Méthode
matplotlib.pyplot.setp()
pour définir la largeur de ligne dans Matplotliblegend
Nous pouvons changer la largeur de ligne des lignes dans la légende Matplotlib en utilisant la méthode set_linewidth()
de l’objet légende et la méthode setp()
des objets artist
.
Méthode set_linewidth()
pour définir la largeur de ligne dans Matplotlib legend
Le paramètre linewidth
dans la fonction plot peut être utilisé pour contrôler la largeur du tracé d’un objet particulier et la méthode set_linewidth()
peut être utilisée pour contrôler la largeur des lignes de la légende dans Matplotlib.
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()
Production:
La largeur de ligne de deux lignes dans le tracé est respectivement 3.0
et 5.0
, et la largeur de ligne des lignes dans la légende utilise par défaut la même largeur de ligne que dans le tracé.
leg = plt.legend()
leg.get_lines()[0].set_linewidth(6)
leg
est l’objet de légende et leg.get_lines()
retourne la liste des instances de ligne dans la légende.
set_linewidth()
pourrait changer la largeur de ligne de la ligne de légende pour une autre valeur plutôt que celle du tracé.
Méthode matplotlib.pyplot.setp()
pour définir la largeur de ligne dans Matplotlib legend
La méthode matplotlib.pyplot.setp()
nous permet de définir la propriété des objets pyplot. Nous pouvons utiliser le paramètre linewidth
de la fonction setp()
pour définir la largeur de ligne d’un objet de légende particulier.
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()
Production:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn