Introducción a la visualización de datos en Python 5 - Visualización de datos

힘센캥거루
2023년 11월 14일(수정됨)
8
python

En el artículo anterior, vimos brevemente cómo manejar Pandas y Matplotlib.

Esta vez vamos a visualizar los datos de Excel cargados con Pandas usando Matplotlib.

Dado que Matplotlib admite DataFrame, simplemente necesitas decidir los valores de x e y e ingresarlos desde el Excel cargado.

1. Cargar Excel con Pandas

Empecemos desde el principio. Vamos a cargar los días de calor extremo por provincia utilizando pandas que vimos en la carpeta Jibakguri.

Introducción a la visualización de datos en Python 5 - Visualización de datos-1

Luego copia y pega el código de configuración de fuentes en coreano de los artículos anteriores sobre Matplotlib.

import pandas as pd

# Llamada de módulos y configuración de fuente coreana
import matplotlib.pyplot as plt
import matplotlib

# Configuración de fuente en MacOS
# matplotlib.rcParams["font.family"] = "AppleGothic"

# Configuración de fuente en Windows
matplotlib.rcParams["font.family"] = "Malgun Gothic"

# Configuración del tamaño de la fuente
matplotlib.rcParams["font.size"] = 13

# Solución al problema de signo negativo
plt.rcParams['axes.unicode_minus'] = False

hot = pd.read_excel("./hot_wave.xlsx")
hot.head(3)

Usando datos estructurados, con esto solo se finaliza la preparación para la visualización de datos.

Ahora utilicemos este material para dibujar un gráfico.

Introducción a la visualización de datos en Python 5 - Visualización de datos-2

2. Visualización con Matplotlib

Ahora que hemos cargado los datos, simplemente intentemos ponerlos.

Coloquemos el DataFrame completo como se ve abajo.

plt.plot(hot)

Obtendrás un gráfico como el de abajo.

Sentirás que algo está mal.

Introducción a la visualización de datos en Python 5 - Visualización de datos-3

Esto es porque los años en los datos de Excel se han incluido como el valor de y.

A menos que especifiques el eje x y el eje y, plot interpretará los valores dados como valores de y y los mostrará.

Introducción a la visualización de datos en Python 5 - Visualización de datos-4

Veamos cómo dar el valor del eje x como los años y el valor del eje y como todos los demás valores.

plt.plot(hot["Año"], hot.loc[:, "Seúl(Día)":])

Esta vez puedes ver que el gráfico que queremos aparece vagamente.

Introducción a la visualización de datos en Python 5 - Visualización de datos-5

3. Procesamiento a la forma deseada

Ahora, simplemente procesa los datos a la forma deseada y colócalos en plot.

Sigue el mismo procedimiento del artículo anterior.

  1. Seleccionar datos de los ejes x e y

  2. Configurar título

  3. Configurar leyenda

  4. Asignar nombres a los ejes

  5. Configurar intervalos de los ejes (si es necesario)

  6. Cambiar el estilo del gráfico

Para detalles sobre el código, revisa el artículo anterior.

En este artículo nos enfocaremos en demostrar el uso del código tanto como sea posible.

1) Selección de datos de los ejes x e y

Primero decidimos comparar los días de calor extremo de Seúl, Daejeon y Daegu.

Ya que puedes ver los datos en el output, fácilmente utilicé iloc para extraerlos y dibujé el gráfico.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
plt.plot(x, y)
Introducción a la visualización de datos en Python 5 - Visualización de datos-6

Si el output del gráfico se parece al de abajo, has tenido éxito.

Introducción a la visualización de datos en Python 5 - Visualización de datos-7

2) Configuración del título

Llamé al título 'Días de calor extremo por provincia'.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
plt.plot(x, y)
plt.title("Días de calor extremo por provincia") # <-- ¡Añadido!
Introducción a la visualización de datos en Python 5 - Visualización de datos-8

3) Configuración de la leyenda

Ya que es difícil entender lo que representa cada valor, configuremos la leyenda. Usando columns puedes mostrar la leyenda fácilmente.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
plt.plot(x, y, label=y.columns) # <-- ¡Añadido!
plt.legend() # <-- ¡Añadido!
plt.title("Días de calor extremo por provincia")
Introducción a la visualización de datos en Python 5 - Visualización de datos-9

4) Asignación de nombres a los ejes

Demos nombres a los ejes. El eje x es Año, y el eje y es Días de calor extremo.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
plt.plot(x, y, label=y.columns)
plt.legend()
plt.title("Días de calor extremo por provincia")
plt.xlabel("Año") # <-- ¡Añadido!
plt.ylabel("Días de calor extremo") # <-- ¡Añadido!
Introducción a la visualización de datos en Python 5 - Visualización de datos-10

5) Configuración de intervalos de los ejes

Me gusta cómo están los intervalos de los ejes.

Así que los dejamos.

6) Cambiar el estilo del gráfico

Quiero que sea posible distinguir el estilo del gráfico incluso en blanco y negro. No puedes aplicar el estilo de una vez, así que recorrí los datos por columna con un for loop asignando el estilo.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
lines = ["o-", "r^:", "bd--"] # <-- ¡Añadido!
for i in range(len(y.columns)): # <-- ¡Añadido!
    plt.plot(x,y.iloc[:,i], lines[i] ,label=y.columns[i])
plt.legend()
plt.title("Días de calor extremo por provincia")
plt.xlabel("Año")
plt.ylabel("Días de calor extremo")
Introducción a la visualización de datos en Python 5 - Visualización de datos-11

4. Post-procesamiento

Ahora, si hay algo que no te gusta, corrígelo un poco.

Al ver el gráfico me pareció que estaría bien tener líneas de puntos para identificar los valores claramente.

Busca en Google 'matplotlib grid'.

Introducción a la visualización de datos en Python 5 - Visualización de datos-12

Nuestro querido Wikidoc está en primer lugar.

Vamos a echar un vistazo.

Introducción a la visualización de datos en Python 5 - Visualización de datos-13

Copiamos cuidadosamente el contenido y lo pegamos en mi código.

Por supuesto, lo cambias a la forma que deseas.

x = hot.iloc[:,0]
y = hot.iloc[:,[1,3,4]]
lines = ["o-", "r^:", "bd--"]
for i in range(len(y.columns)):
    plt.plot(x,y.iloc[:,i], lines[i] ,label=y.columns[i])
plt.legend()
plt.title("Días de calor extremo por provincia")
plt.xlabel("Año")
plt.ylabel("Días de calor extremo")
plt.grid(linestyle="--") # <-- ¡Añadido!
Introducción a la visualización de datos en Python 5 - Visualización de datos-14

Creo que ahora me gusta.

Pero desde 2008...?

Parece demasiado largo.

Reducir el año de salida y cambiar el eje x.

x = hot.iloc[6:,0] # <-- ¡Añadido!
y = hot.iloc[6:,[1,3,4]] # <-- ¡Añadido!
lines = ["o-", "r^:", "bd--"]
for i in range(len(y.columns)):
    plt.plot(x,y.iloc[:,i], lines[i] ,label=y.columns[i])
plt.grid(linestyle="--")
plt.legend()
plt.title("Días de calor extremo por provincia")
plt.xlabel("Año")
plt.ylabel("Días de calor extremo")
plt.xticks(x) # <-- ¡Añadido!

Así queda completado el gráfico de días de calor extremo en Seúl, Daejeon y Daegu durante los últimos 10 años.

Introducción a la visualización de datos en Python 5 - Visualización de datos-15

Ahora puedes usar esto para formular preguntas de examen, o mostrarlo cuando quieras hablar de la conclusión deseada.

5. Conclusión

En esta ocasión, visualizamos de manera sencilla los datos de días de calor extremo.

En el próximo artículo resolveremos un ejercicio para reproducir un gráfico dado.

댓글을 불러오는 중...