Como mudar a largura de linha das linhas em Matplotlib Legend
-
set_linewidth()
Método para definir a largura da linha no Matplotliblegend
-
matplotlib.pyplot.setp()
Método para definir a largura da linha em Matplotliblegend
Podemos alterar a largura (espessura da linha) de linhas na legenda Python Matplotlib utilizando o método set_linewidth()
do objeto da legenda e o método setp()
dos objetos artist
.
set_linewidth()
Método para definir a largura da linha no Matplotlib legend
O parâmetro linewidth
na função de trama pode ser utilizado para controlar a largura da trama de um determinado objeto, e o método set_linewidth()
pode ser utilizado para controlar a largura das linhas da legenda em 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()
Resultado:
A largura de linha de duas linhas no gráfico Python Matplotlib são 3.0
e 5.0
respectivamente, e a largura de linha de linhas na legenda por padrão utiliza a mesma largura de linha do gráfico.
leg = plt.legend()
leg.get_lines()[0].set_linewidth(6)
O leg
é o objeto Python Matplotlib legend
e leg.get_lines()
retorna a lista de instâncias de linha na legenda.
A set_linewidth()
poderia alterar a largura da linha (espessura da linha) da linha da legenda para ser outro valor ao invés do que está no gráfico.
matplotlib.pyplot.setp()
Método para definir a largura da linha em Matplotlib legend
O método matplotlib.pyplot.setp()
nos permite definir a propriedade dos objetos pyplot. Podemos utilizar o parâmetro linewidth
da função setp()
para definir a largura da linha de um determinado objeto lendário.
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()
Resultado:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn