Comment définir la largeur de ligne des lignes dans la légende Matplotlib

Suraj Joshi 30 janvier 2023
  1. Méthode set_linewidth() pour définir la largeur de ligne dans Matplotlib legend
  2. Méthode matplotlib.pyplot.setp() pour définir la largeur de ligne dans Matplotlib legend
Comment définir la largeur de ligne des lignes dans la légende Matplotlib

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:

définir la largeur de ligne des lignes d’une légende dans Matplotlib en utilisant la méthode set_linewidth

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:

définir la largeur de ligne des lignes d’une légende dans Matplotlib en utilisant la méthode setp

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Article connexe - Matplotlib Legend