La leyenda es un método presente en el paquete Matplotlib que representa el área para describir los elementos en un diagrama/gráfico.
El orden de las etiquetas en la región de la leyenda se basó en el orden en que agregamos las líneas (datos) al gráfico.
Ejemplo:
Consideremos un DataFrame que almacena las calificaciones de los estudiantes en las pruebas semanales.
|
Raju |
Hari |
Bablu |
Dora |
---|---|---|---|---|
Prueba-1 |
8 |
6 |
9 |
10 |
Prueba-2 |
10 |
4 |
9 |
9 |
Prueba-3 |
7 |
6 |
9 |
10 |
Prueba-4 |
7 |
7 |
9 |
9 |
Prueba-5 |
10 |
6 |
9 |
10 |
La tabla anterior almacena las calificaciones de 4 estudiantes en 5 pruebas. Ahora trace el gráfico con la leyenda usando los datos anteriores.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe Marks = pd.DataFrame({'Raju': [8, 10, 7, 7, 10], 'Hari': [6, 4, 6, 7, 6], 'Bablu': [9, 9, 9, 9, 9], 'Dora': [10, 9, 10, 9, 10]}) # plot marks of each student plt.plot(Marks['Raju'], label="Raju Marks", color="Red") plt.plot(Marks['Hari'], label="Hari Marks", color="Blue") plt.plot(Marks['Bablu'], label="Bablu Marks", color="Yellow") plt.plot(Marks['Dora'], label="Dora Marks", color="Black") # labelling the axes plt.xlabel("Tests") plt.ylabel("Marks") # add legend to plot plt.legend() plt.show()
Producción
Cambiar el orden de los elementos en la leyenda
El orden anterior de los elementos en la región de la leyenda se puede cambiar mediante el método gca que usa otro submétodo llamado método get_legend_handles_labels .
Sintaxis
identificadores, etiquetas = plt.gca().get_legend_handles_labels()
Estas listas de identificadores y etiquetas se pasan como parámetros al método de leyenda con el orden de los índices.
Considere el siguiente código de ejemplo para una comprensión detallada.
Ejemplo 1:
En este código, usamos el mismo DataFrame que usamos en el código anterior. Pero utilizó los métodos especificados anteriormente para cambiar el orden de los elementos en la región de la leyenda.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe Marks = pd.DataFrame({'Raju': [8, 10, 7, 7, 10], 'Hari': [6, 4, 6, 7, 6], 'Bablu': [9, 9, 9, 9, 9], 'Dora': [10, 9, 10, 9, 10]}) # plot marks of each student plt.plot(Marks['Raju'], label="Raju Marks", color="Red") plt.plot(Marks['Hari'], label="Hari Marks", color="Blue") plt.plot(Marks['Bablu'], label="Bablu Marks", color="Yellow") plt.plot(Marks['Dora'], label="Dora Marks", color="Black") # labelling the axes plt.xlabel("Tests") plt.ylabel("Marks") # reordering the labels handles, labels = plt.gca().get_legend_handles_labels() # specify order order = [2, 3, 1, 0] # pass handle & labels lists along with order as below plt.legend([handles[i] for i in order], [labels[i] for i in order]) plt.show()
Producción
Ejemplo 2:
A continuación se muestra la implementación de trazar un gráfico que representa las calificaciones de los estudiantes junto con la leyenda con el orden especificado en la región de la leyenda.
Python3
# import necessary packages import pandas as pd import matplotlib.pyplot as plt # create a dataframe Marks = pd.DataFrame({'Raju': [8, 10, 7, 7, 10], 'Hari': [6, 4, 6, 7, 6], 'Bablu': [9, 9, 9, 9, 9], 'Dora': [10, 9, 10, 9, 10]}) # plot marks of each student plt.plot(Marks['Raju'], label="Raju Marks", color="Red") plt.plot(Marks['Hari'], label="Hari Marks", color="Blue") plt.plot(Marks['Bablu'], label="Bablu Marks", color="Yellow") plt.plot(Marks['Dora'], label="Dora Marks", color="Black") # labelling the axes plt.xlabel("Tests") plt.ylabel("Marks") # reordering the labels handles, labels = plt.gca().get_legend_handles_labels() # specify order order = [3, 2, 1, 0] # pass handle & labels lists along with order as below plt.legend([handles[i] for i in order], [labels[i] for i in order]) plt.show()
Producción
Publicación traducida automáticamente
Artículo escrito por akhilvasabhaktula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA