En este artículo, veremos cómo colocar la leyenda fuera de la trama en Matplotlib. Analicemos algunos conceptos:
- Matplotlib: Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia. Fue presentado por John Hunter en el año 2002.
- Leyenda: Una leyenda es un área que describe los elementos del gráfico. En la biblioteca matplotlib, hay una función llamada legend() que se usa para colocar una leyenda en los ejes. El atributo Loc en legend() se usa para especificar la ubicación de la leyenda. El valor predeterminado de loc es loc=”mejor” (parte superior izquierda).
Aquí, primero veremos por qué es necesario colocar la leyenda en el exterior.
Python3
# importing packages import numpy as np import matplotlib.pyplot as plt # create data x=np.linspace(-20, 20, 1000) # plot the graphs plt.plot(x,np.sin(x)) plt.plot(x,np.cos(x)) # add legends plt.legend(["Sine","Cosine"]) plt.show()
Producción:
Como podemos ver, las leyendas de las figuras anteriores se superponen en el gráfico, es decir; información incompleta. Para resolver este problema necesitamos colocar la leyenda fuera de la trama.
Pasos necesarios
- Importar bibliotecas
- Crear/Cargar datos
- hacer parcelas
- Añadir leyenda fuera de la trama.
Ejemplo 1: (lado derecho)
Python3
# importing packages import numpy as np import matplotlib.pyplot as plt # create data x=np.linspace(-20, 20, 1000) # plot the graphs plt.plot(x,np.sin(x)) plt.plot(x,np.cos(x)) # add legends and set its box position plt.legend(["Sine","Cosine"], bbox_to_anchor = (1.05, 0.6)) plt.show()
Producción:
Ejemplo 2: (en la parte superior)
Python3
# importing packages import numpy as np import matplotlib.pyplot as plt # create data x=np.linspace(-20, 20, 1000) # plot the graphs plt.plot(x, np.sin(x)) plt.plot(x, np.cos(x)) # add legends and set its box position plt.legend(["Sine", "Cosine"], bbox_to_anchor=(0.6, 1.2)) plt.show()
Producción :
Ejemplo 3: (Con subtramas)
Python3
# importing packages import numpy as np import matplotlib.pyplot as plt # create data x = np.linspace(-5, 5, 1000) colors=[['c','g'], ['y','r']] # make subplot and plots the grpahs fig, ax = plt.subplots(2, 2) for i in range(2): ax[0][i].plot(x, np.sin(x+i), color = colors[0][i], label = "y=sin(x+{})".format(i)) ax[1][i].plot(x, np.sin(x+i), color = colors[1][i], label = "y=sin(x+{})".format(i)) # set legend position fig.legend(bbox_to_anchor=(1.3, 0.6)) # set spacing to subplots fig.tight_layout() plt.show()
Producción :
Publicación traducida automáticamente
Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA