Cómo usar etiquetas en matplotlib

Cómo usar etiquetas en matplotlib
Vamos a ver diferentes métodos para etiquetar el gráfico matplotlib. Las etiquetas darán información completa sobre el gráfico y son fáciles de entender por la otra persona.

Entonces, en este artículo vamos a ver detalles sobre los siguientes temas:

  1. Agregar texto en el gráfico
  2. Agregar etiquetas a los gráficos matplotlib
  3. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de línea
  4. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de barras
  5. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de trazado de dispersión
  6. Función de leyenda

1. Agregar texto en el gráfico

También podemos agregar texto en el gráfico para que no tengamos que señalar información importante mientras presentamos algo. Si incluimos el texto de datos particulares, esto también se verá más profesional o informativo.

La sintaxis es:

# AgregarTextongraph.py
Importar matplotlib.Pyplot como PLT
importar numpy como np
PLT.CLF ()
# Uso de algunos datos ficticios para este ejemplo
x_value = np.Arange (0,15,1)
imprimir ("x_value", x_value)
y_value = np.aleatorio.Normal (LOC = 2.0, escala = 0.9, tamaño = 15)
imprimir ("y_value", y_value)
PLT.tram (x_value, y_value)
# El texto predeterminado se alineará a la izquierda
PLT.texto (1,3, 'Este texto comienza en x = 1 e y = 3')
# Este texto estará alineado correctamente
PLT.Texto (6,2, 'Este texto termina en x = 6 e y = 2', horizontalalignment = 'correcto')
PLT.espectáculo()

Línea 2 a 3: Importamos todos los paquetes necesarios para este programa.

Línea 5: Llamamos el método clf (). Esta función ayuda a dibujar algo en el gráfico anterior en sí. No cerrará la ventana del gráfico para que dos elementos diferentes podamos dibujar en el mismo gráfico.

Línea 7 a 11: Acabamos de crear algunos valores aleatorios para x_values ​​y y_values.

Línea 12: Pasamos los valores X e Y aleatorios creados a la función de trazado para dibujar el gráfico.

Línea 15 a 20: Nuestro gráfico ahora está listo y tiene que agregar algún texto. Entonces primero agregamos el texto, que comienza desde x = 1, y = 3 (1, 3). Por defecto, el texto se alineará a la izquierda para que el texto anterior comience desde el punto (1, 3).

En la siguiente línea, agregamos otro texto cuyo punto de partida es x = 6 e y = 2. Pero esta vez, mencionamos su horizontalalignment = "correcto", por lo que el punto final del texto es (6, 2).

Producción: Python AgregarTextAngraph.py

x_value [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14]
y_value [1.70365904 3.73967715 1.11413564 2.82135022 2.87735691 1.98391073
1.75867938 3.01109059 2.6281119 1.89008119 1.58300606 1.3142607
1.01428062 0.84672494 0.07056874]

2. Agregar etiquetas a los gráficos matplotlib

En este ejemplo, vamos a agregar los nombres de las etiquetas en el gráfico. En el ejemplo anterior, si vemos el gráfico de gráficos, es difícil entender lo que el gráfico está tratando de decir porque no hay información sobre el eje X o los datos del eje Y. Y tampoco podemos ver dónde residen los datos reales en la gráfica. Entonces, vamos a agregar marcadores para ver los puntos de datos en la gráfica junto con las etiquetas.

# addlabels.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
Datos # X e Y
NumberOfemp = [13, 200, 250, 300, 350, 400]
año = [2011, 2012, 2013, 2014, 2015, 2016]
# traza un gráfico de línea
PLT.Plot (año, NumberOfemp, Marker = "O")
# Establecer el nombre de la etiqueta del título del eje X
PLT.xlabel ("año")
# Establecer el nombre de la etiqueta del título del eje X
PLT.Ylabel ("Número de empleados")
# Establecer el nombre de la etiqueta del título de la tabla
PLT.Título ("Número de crecimiento del año de los empleados")
PLT.espectáculo()

Línea 4 a 8: Importamos la biblioteca requerida y creamos dos listas para x e y. La lista NumberOftemp representa el eje X y el año de la lista representa el eje Y.

Línea 11: Pasamos esos parámetros x e y a la función de trazado y agregamos un parámetro más en el marcador de función de trazado. El marcador se utilizará para mostrar los puntos de datos en el gráfico. Hay una serie de marcadores disponibles para apoyar.

Línea 13 a 19: Establecemos los nombres de la etiqueta a lo largo del eje X, el eje y y el nombre del título de la lista.

Producción: python addlabels.py

3. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de línea

La anotación de texto es otra función en Matplotlib que ayuda a anotar los puntos de datos.

# datapoints_labels_on_line_graph.py
# Importar los paquetes requeridos
Importar matplotlib.Pyplot como PLT
importar numpy como np
# Importar el método clf () para dibujar otro gráfico en la misma ventana de gráfico
PLT.CLF ()
# conjunto de datos ficticio de Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.aleatorio.normal (loc = 2, escala = 0.2, tamaño = 10)
PLT.Plot (x_values, y_values, marcador = 'd', mfc = 'verde', mec = 'amarillo', ms = '7')
#JOINS los valores X e Y
para x, y en zip (x_values, y_values):
etiqueta = ":.3f ".formato (y)
PLT.anotar (etiqueta, # Este es el valor que queremos etiquetar (texto)
(x, y), # x e y es la ubicación de puntos donde tenemos que etiquetar
TextCoords = "Puntos de compensación",
xyText = (0,10), # esto para la distancia entre los puntos
# y la etiqueta de texto
ja = 'centro',
ArrowProps = dict (ArrowStyle = "->", color = 'verde'))
PLT.espectáculo()

Línea 14: Pasamos el marcador de parámetro = "D", MFC (MarkerFacecolor) Color verde, MEC (MarkeredGeColor) Yellow y MS (Markersize). El MEC (MarkeredGecolor) es un color que sale del punto de datos.

Línea 19: Estamos formatando el valor de y.

Como se muestra abajo:

valor real de y = 2.0689824848029414

Después del formato, el valor de y es 2.069 (redondeado a 3 puntos decimales)

Línea 21 a 29: Pasamos todos los parámetros requeridos a la función de anotado, que es el (x, y). XyText es para la distancia entre los puntos y la etiqueta. ArrowProps es otro parámetro que se utiliza para que el gráfico muestre una forma más profesional. Y al fin, trazamos el gráfico que se muestra a continuación.

Producción: python dataPoints_labels_on_line_graph.py

4. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de barras

También podemos agregar anotación de texto al gráfico de barras de Matplotlib.

# annotation_bar_graph.py
# Importar los paquetes requeridos
Importar matplotlib.Pyplot como PLT
importar numpy como np
# Importar el método clf () para dibujar otro gráfico en la misma ventana de gráfico
PLT.CLF ()
# conjunto de datos ficticio de Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.aleatorio.normal (loc = 2, escala = 0.5, tamaño = 10)
PLT.bar (x_values, y_values)
# Zip se une a las coordenadas X e Y en parejas
para x, y en zip (x_values, y_values):
etiqueta = ":.3f ".formato (y)
PLT.anotar (etiqueta, # Este es el valor que queremos etiquetar (texto)
(x, y), # x e y es la ubicación de puntos donde tenemos que etiquetar
TextCoords = "Puntos de compensación",
xyText = (0,10), # esto para la distancia entre los puntos
# y la etiqueta de texto
ja = 'centro',
ArrowProps = dict (ArrowStyle = "->", color = 'Black'))
PLT.espectáculo()

El código de anotación anterior es el mismo que la anotación de gráficos de línea. El cambio que hicimos en la línea 14.

Línea 14: Esta es la línea donde cambiamos. Ahora, estamos llamando a la función de la barra y pasando los datos X e Y a los que.

Producción: Annotación de Python_Bar_Graph.py

5. Anotación de texto (matplotlib.pyplot.anotate ()) para el gráfico de trazado de dispersión

También podemos agregar anotación de texto al gráfico de trazado de dispersión de Matplotlib.

# annotation_scatter_plot.py
# Importar los paquetes requeridos
Importar matplotlib.Pyplot como PLT
importar numpy como np
# Importar el método clf () para dibujar otro gráfico en la misma ventana de gráfico
PLT.CLF ()
# conjunto de datos ficticio de Numpy
x_values ​​= np.Arange (0,10,1)
y_values ​​= np.aleatorio.normal (loc = 2, escala = 0.5, tamaño = 10)
PLT.dispersión (x_values, y_values)
# Zip se une a las coordenadas X e Y en parejas
para x, y en zip (x_values, y_values):
etiqueta = ":.3f ".formato (y)
PLT.anotar (etiqueta, # Este es el valor que queremos etiquetar (texto)
(x, y), # x e y es la ubicación de puntos donde tenemos que etiquetar
TextCoords = "Puntos de compensación",
xyText = (0,10), # esto para la distancia entre los puntos
# y la etiqueta de texto
ja = 'centro',
ArrowProps = dict (ArrowStyle = "->", color = 'Black'))
PLT.espectáculo()

El código de anotación anterior es el mismo que la anotación de gráficos de línea. El cambio que hicimos en la línea 14.

Línea 14: Esta es la línea donde cambiamos. Ahora, estamos llamando a la función de dispersión y pasando los datos X e Y a los que.

Producción: python annotation_scatter_plot.py

6. Leyenda (etiqueta)

Cuando tenemos un conjunto de datos de categorías diferentes y queremos trazar en el mismo gráfico, necesitamos alguna notación para diferenciar qué categoría pertenece a qué categoría. Que se puede resolver usando la leyenda como se muestra a continuación.

# usando_legand_labels.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
Datos # X e Y
NumberOfemp_a = [13, 200, 250, 300, 350, 400]
NumberOfemp_B = [10, 100, 150, 200, 250, 800]
año = [2011, 2012, 2013, 2014, 2015, 2016]
# traza un gráfico de línea
PLT.Plot (año, NumberOfemp_a, Marker = 'D', Mfc = 'Green', MEC = 'Yellow', MS = '7')
PLT.Plot (año, NumberOfemp_B, Marker = 'O', mfc = 'rojo', mec = 'verde', ms = '7')
# Establecer el nombre de la etiqueta del título del eje X
PLT.xlabel ("año")
# Establecer el nombre de la etiqueta del título del eje X
PLT.Ylabel ("Número de empleados")
# Establecer el nombre de la etiqueta del título de la tabla
PLT.Título ("Número de crecimiento del año de los empleados")
PLT.Legend (['NumberOfemp_a', 'NumberOfemp_B'])
PLT.espectáculo()

Línea 7 a 8: Creamos dos listas de datos NumberOfemp_A y NumberOfemp_B, para el eje X. Pero tanto A como B tienen los mismos valores del eje y. Entonces, en este gráfico, compartimos el eje x solo porque la escala del eje y para A y B es la misma.

Línea 12 a 13: Acabamos de agregar una función de trazado más con algunos parámetros diferentes.

Línea 16 a 22: Agregamos etiquetas para el gráfico.

Línea 24: Creamos la leyenda para estas dos categorías para que dos categorías diferentes en el mismo gráfico puedan diferenciarse fácilmente.

Producción: Python usando_legand_labels.py

Conclusión

En este artículo, hemos visto diferentes métodos que podemos usar para el gráfico de etiquetas. También hemos visto cómo anotar los datos de texto en el gráfico, haciendo que el gráfico sea más profesional. Luego hemos visto la función de leyenda para diferenciar diferentes categorías en el mismo gráfico.