Para agregar una leyenda a un diagrama matplotlib, simplemente se ejecuta legend()
.
¿Cómo eliminar una leyenda de una trama?
(Lo más cerca que llegué a esto es correr legend([])
para vaciar la leyenda de los datos. Pero eso deja un feo rectángulo blanco en la esquina superior derecha).
matplotlib
legend
Olivier Verdier
fuente
fuente
ax.get_legend().remove()
solución no funcionó en mi caso, mientras que la segunda solución (legend = ax.legend() ... legend.remove()
) funcionó. tal vez porqueax
fue unAxesSubplot
en mi caso?Si desea trazar un marco de datos de Pandas y desea eliminar la leyenda, agregue leyenda = Ninguno como parámetro al comando de trazado.
fuente
Podrías usar el
set_visible
método de la leyenda :Esto se basa en una respuesta que se me proporcionó en respuesta a una pregunta similar que tuve hace algún tiempo aquí
(Gracias por esa respuesta, Jouni: lo siento, no pude marcar la pregunta como contestada ... ¿tal vez alguien que tenga la autoridad pueda hacerlo por mí?)
fuente
tienes que agregar las siguientes líneas de código:
gca () devuelve el identificador de ejes actual y tiene esa propiedad legend_
fuente
draw()
porshow()
. ¿O hay una ventaja particular en el usodraw
?show()
estaría bien si la actualización del gráfico fuera el último comando de un programa.draw()
está bien, ya que es el comando general de actualización de gráficos. Por ejemplo, es posible que desee solicitar al usuario alguna entrada en un terminal después de actualizar el gráfico, lo que no se puede hacer con el bloqueoshow()
.draw
es más apropiado (pero siempre he usadoshow
para actualizar mis gráficos ...).Si no está utilizando objetos de trazado de higos y hachas, puede hacerlo así:
fuente
si llamas
pyplot
comoplt
frameon=False
es eliminar el borde alrededor de la leyenday '' está pasando la información de que ninguna variable debe estar en la leyenda
fuente
Hice una leyenda agregándola a la figura, no a un eje (matplotlib 2.2.2). Para eliminarlo, configuro el
legends
atributo de la figura en una lista vacía:fuente
Según la información de @naitsirhc, quería encontrar la documentación oficial de la API. Aquí están mis hallazgos y algunos códigos de muestra.
matplotlib.Axes
objeto porseaborn.scatterplot()
.ax.get_legend()
devolverá unamatplotlib.legned.Legend
instancia..remove()
función para eliminar la leyenda de tu trama.Si revisa el
matplotlib.legned.Legend
documento API, no verá la.remove()
función.La razón es que el
matplotlib.legned.Legend
heredadomatplotlib.artist.Artist
. Por lo tanto, cuando llamasax.get_legend().remove()
eso básicamente llamamatplotlib.artist.Artist.remove()
.Al final, incluso podría simplificar el código en dos líneas.
fuente