Eliminar o adaptar el borde del marco de la leyenda usando matplotlib

105

Al trazar una parcela usando matplotlib:

  1. ¿Cómo quitar la caja de la leyenda?
  2. ¿Cómo cambiar el color del borde del cuadro de leyenda?
  3. ¿Cómo eliminar solo el borde del cuadro de la leyenda?
Mattijn
fuente

Respuestas:

194

Al trazar una parcela usando matplotlib:

¿Cómo quitar la caja de la leyenda?

plt.legend(frameon=False)

¿Cómo cambiar el color del borde del cuadro de leyenda?

leg = plt.legend()
leg.get_frame().set_edgecolor('b')

¿Cómo eliminar solo el borde del cuadro de la leyenda?

leg = plt.legend()
leg.get_frame().set_linewidth(0.0)
Mattijn
fuente
3
¿Qué tal en la interfaz OOP?
ifly6
29

Una pregunta más relacionada, ya que me tomó una eternidad encontrar la respuesta:

Cómo hacer que el fondo de la leyenda esté en blanco ( es decir , transparente, no blanco):

legend = plt.legend()
legend.get_frame().set_facecolor('none')

Advertencia, quieres 'none'(la cuerda). Nonesignifica el color predeterminado en su lugar.

Kevin J. Black
fuente
7
Creo que la forma preferida de hacer esto es usar framealpha, es decir plt.legend(framealpha=0.0). Sin embargo, eso incluiría la caja
MT