Como remover a lenda em Matplotlib

Suraj Joshi 15 fevereiro 2024
  1. matplotlib.axes.Axes.get_legend().remove()
  2. matplotlib.axes.Axes.get_legend().set_visible()
  3. label=nolegend Argumento em matplotlib.axes.Axes.plot() Método
  4. Conjunto legend_ Atributo de Axes Objeto a Nenhum
Como remover a lenda em Matplotlib

Podemos utilizar métodos remove() e set_visible() do objeto da legenda para remover a legenda de uma figura em Matplotlib. Também podemos remover a legenda de uma figura em Matplotlib definindo o label para _nolegend_ em plot() método, axes.legend para None e figure.legends para empty list.

matplotlib.axes.Axes.get_legend().remove()

Podemos remover a legenda da figura em Matplotlib utilizando o método matplotlib.axes.Axes.get_legend().remove().

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2

fig, ax = plt.subplots(figsize=(8, 6))

ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")

leg = plt.legend()

ax.get_legend().remove()

plt.show()

Resultado:

remover legenda em Matplotlib utilizando o método remove

matplotlib.axes.Axes.get_legend().set_visible()

Se passarmos o método False como argumento para matplotlib.axes.Axes.get_legend().set_visible(), podemos remover a legenda da figura em Matplotlib.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2

fig, ax = plt.subplots(figsize=(8, 6))

ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")

leg = plt.legend()

ax.get_legend().set_visible(False)

plt.show()

Resultado:

remover legenda em Matplotlib utilizando o método set_visible

Este método realmente define a lenda invisível, mas não a elimina.

label=nolegend Argumento em matplotlib.axes.Axes.plot() Método

Passando label=_nolegend_ como um argumento em matplotlib.axes.Axes.plot() o método também remove a legenda da figura em Matplotlib.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2

fig, ax = plt.subplots(figsize=(8, 6))
leg = plt.legend()

ax.plot(x, y1, c="r", label="_nolegend_")
ax.plot(x, y2, c="g", label="_nolegend_")

plt.show()

Resultado:

remove legenda em Matplotlib utilizando argumento de legenda

Conjunto legend_ Atributo de Axes Objeto a Nenhum

Definir o atributo legend_ do objeto Axes para None remove a legenda de uma figura em Matplotlib.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-3, 3, 100)
y1 = np.exp(x)
y2 = 3 * x + 2

fig, ax = plt.subplots(figsize=(8, 6))
leg = plt.legend()

ax.plot(x, y1, c="r", label="expoential")
ax.plot(x, y2, c="g", label="Straight line")

plt.gca.legend_ = None

plt.show()

Resultado:

remove a legenda no atributo Matplotlib do objeto Eixos para Nenhum

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Matplotlib Legend