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.

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.

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.

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á.

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.

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.
Seleccionar datos de los ejes x e y
Configurar título
Configurar leyenda
Asignar nombres a los ejes
Configurar intervalos de los ejes (si es necesario)
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)
Si el output del gráfico se parece al de abajo, has tenido éxito.

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!
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")
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!
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")
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'.

Nuestro querido Wikidoc está en primer lugar.
Vamos a echar un vistazo.

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!
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.

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.
댓글을 불러오는 중...