Modificare lo spessore della linea delle linee in Matplotlib Legend

Suraj Joshi 30 gennaio 2023
  1. Metodo set_linewidth() per impostare lo spessore della linea in Matplotlib legend
  2. Metodo matplotlib.pyplot.setp() per impostare la larghezza della linea in Matplotlib legend
Modificare lo spessore della linea delle linee in Matplotlib Legend

Possiamo cambiare lo spessore della linea (spessore della linea) delle linee nella legenda Python Matplotlib usando il metodo set_linewidth() dell’oggetto legenda e il metodo setp() degli oggetti artista.

Metodo set_linewidth() per impostare lo spessore della linea in Matplotlib legend

Il parametro linewidth nella funzione plot può essere usato per controllare la larghezza del grafico di un particolare oggetto, e il metodo set_linewidth() può essere usato per controllare la larghezza delle linee della legenda in 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()

Produzione:

imposta la larghezza di riga delle righe di una legenda in Matplotlib utilizzando il metodo set_linewidth

Le larghezze delle linee di due linee nel grafico Python Matplotlib sono rispettivamente 3.0 e 5.0, e la larghezza delle linee nella legenda per impostazione predefinita usa la stessa larghezza della linea del grafico.

leg = plt.legend()

leg.get_lines()[0].set_linewidth(6)

leg è l’oggetto Python Matplotlib legend, e leg.get_lines() restituisce l’lista delle istanze di riga nella legenda.

set_linewidth() potrebbe cambiare lo spessore della linea (spessore della linea) della linea della legenda in modo che sia un altro valore piuttosto che quello nel grafico.

Metodo matplotlib.pyplot.setp() per impostare la larghezza della linea in Matplotlib legend

Il metodo matplotlib.pyplot.setp() ci permette di impostare la proprietà degli oggetti pyplot. Possiamo usare il parametro linewidth della funzione setp() per impostare l’ampiezza di riga di un particolare oggetto della legenda.

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()

Produzione:

imposta la larghezza di riga delle righe di una legenda in Matplotlib utilizzando il metodo setp

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Articolo correlato - Matplotlib Legend