En este artículo, la tarea es usar varias columnas en una leyenda de Matplotlib en Python. Antes de comenzar la discusión sobre «Usar varias columnas en una leyenda de Matplotlib», primero debemos conocer brevemente matplotlib, pyplot y legend.
- Matplotlib: La biblioteca «matplotlib» básicamente se usa para crear muchas cosas gráficas, como gráficos, tablas, figuras y muchas cosas de alta calidad. La biblioteca es extensa y capaz de cambiar desde muy pequeños hasta los detalles más pequeños de una figura. Esta biblioteca fue presentada por John Hunter y su equipo en 2002.
- Pyplot: En Python, «pyplot» es una biblioteca de trazado utilizada para gráficos bidimensionales. Se utiliza en scripts de python, shell, servidores de aplicaciones web y otros juegos de herramientas GUI.
- Leyenda: Una leyenda es un área que describe los elementos de un gráfico. En matplotlib, hay una función llamada legend() que se usa para colocar una leyenda en el eje mencionado.
Nota: antes de declarar matplotlib y pyplot, es mejor declarar también la biblioteca numpy.
Básicamente, podemos importar pyplot con matplotlib ya que generalmente importamos otras bibliotecas en python, como
import matplotlib.pyplot as plt
o
from matplotlib import pyplot as plt
Use varias columnas en una leyenda de Matolotlib
En muchos casos, lo principal que podemos encontrar es que, a medida que aumenta el número de la leyenda, puede consumir muchos espacios verticales, lo que puede crear problemas para la visualización del gráfico. Entonces, en esta situación, necesitamos organizar las etiquetas de leyenda en varias columnas. Para ello, será fácil colocar de forma no disruptiva todas las leyendas.
Usando el argumento ncol dentro de plt.legend() de la manera definida a continuación para especificar el número de columnas que debe tener la leyenda.
plt.legend(ncol=k)
Aquí, k es el número de columnas que debe tener la leyenda en el gráfico.
Ejemplo:
Python3
# code import matplotlib.pyplot as plt plt.plot([0, 3], [0, 2.0], label='Label 1') plt.plot([0, 3], [0, 2.1], label='Label 2') plt.plot([0, 3], [0, 2.2], label='Label 3') plt.plot([0, 3], [0, 2.3], label='Label 4') plt.plot([0, 3], [0, 2.4], label='Label 5') # Change the number of columns here plt.legend(ncol=3) plt.show()
Producción: