Diferencias
Muestra las diferencias entre dos versiones de la página.
Próxima revisión | Revisión previa | ||
indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-8 [2025/05/26 23:53] – creado upadmin | indice:uba:ingenieria:uba-xxi:pensamiento-computacional:guias-y-resueltos:guia-8 [2025/06/07 21:36] (actual) – upadmin | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Guía 8 ====== | ====== Guía 8 ====== | ||
+ | * {{ : | ||
+ | |||
+ | * {{ : | ||
+ | |||
+ | ===== Resueltos ===== | ||
+ | |||
+ | <file python resueltos_guia_8.py> | ||
+ | ### Práctica Matplotlib | ||
+ | """ | ||
+ | Por ese motivo, se verán líneas de código completas y otras para completar en función de lo que el estudiante desea analizar. | ||
+ | Es decir, las figuras se dejan a modo de ejemplo y de referencia para resolver los ejercicios, pero no tienen que ser exactamente igual a la de los alumnos.""" | ||
+ | |||
+ | ##Primero, se importan las librerías que se usarán: | ||
+ | |||
+ | import matplotlib.pyplot as plt | ||
+ | import numpy as np | ||
+ | import pandas as pd | ||
+ | |||
+ | ## Ejercicio de tipo de gráficos. | ||
+ | """ | ||
+ | |||
+ | # Importo la información | ||
+ | url = " | ||
+ | data = pd.read_csv(url) | ||
+ | |||
+ | # Modificar el tipo de dato: | ||
+ | data[' | ||
+ | |||
+ | print(data.head()) #Sino se aclara toma 5 primeras filas. | ||
+ | |||
+ | data.info() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 1: | ||
+ | """ | ||
+ | |||
+ | # Modifica este valor | ||
+ | # =========== Código de alumno =============== | ||
+ | year = 1972 | ||
+ | # ============================================ | ||
+ | |||
+ | data_year = data[data[" | ||
+ | print(data_year.head()) | ||
+ | |||
+ | """ | ||
+ | |||
+ | El gráfico debe tener: | ||
+ | - Título apropiado | ||
+ | - Nombre y unidades de los ejes cartesianos | ||
+ | - Marcador de tipo triangular y color "# | ||
+ | - Grilla | ||
+ | """ | ||
+ | |||
+ | fig, ax = plt.subplots() | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | plt.xlabel(" | ||
+ | plt.ylabel(" | ||
+ | plt.title(" | ||
+ | |||
+ | plt.scatter(data_year[" | ||
+ | |||
+ | plt.grid() | ||
+ | |||
+ | # ============================================ | ||
+ | |||
+ | plt.show() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 2: | ||
+ | """ | ||
+ | |||
+ | data_arg = data[data[" | ||
+ | print(data_arg.head()) | ||
+ | |||
+ | """ | ||
+ | |||
+ | El gráfico debe tener: | ||
+ | - Título apropiado | ||
+ | - Nombre y unidades de los ejes cartesianos | ||
+ | - Linea sólida, espesor 2.2 y color "# | ||
+ | - Grilla | ||
+ | """ | ||
+ | |||
+ | fig, ax = plt.subplots() | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | plt.xlabel(" | ||
+ | plt.ylabel(" | ||
+ | plt.title(" | ||
+ | |||
+ | plt.plot(data_arg[" | ||
+ | |||
+ | plt.grid() | ||
+ | |||
+ | |||
+ | # ============================================ | ||
+ | plt.show() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 3: | ||
+ | """ | ||
+ | |||
+ | print(data[" | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | country = " | ||
+ | # ============================================ | ||
+ | |||
+ | data_country = data[data[" | ||
+ | print(data_country.head()) | ||
+ | |||
+ | """ | ||
+ | |||
+ | El gráfico debe tener: | ||
+ | - Título apropiado | ||
+ | - Nombre y unidades de los ejes cartesianos | ||
+ | - Linea sólida, espesor 2.2 y color "# | ||
+ | - Linea sólida, espesor 2.2 y color "# | ||
+ | - Referencias | ||
+ | - Grilla | ||
+ | """ | ||
+ | |||
+ | fig, ax = plt.subplots() | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | plt.xlabel(" | ||
+ | plt.ylabel(" | ||
+ | plt.title(" | ||
+ | |||
+ | plt.plot(data_arg[" | ||
+ | plt.plot(data_country[" | ||
+ | |||
+ | ax.legend() | ||
+ | |||
+ | plt.grid() | ||
+ | |||
+ | # ============================================ | ||
+ | |||
+ | plt.show() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 4: | ||
+ | """ | ||
+ | |||
+ | data_continent = data[[' | ||
+ | data_continent = data_continent.groupby([' | ||
+ | print(data_continent) | ||
+ | |||
+ | """ | ||
+ | |||
+ | El gráfico debe tener: | ||
+ | - Título apropiado | ||
+ | - Cada parte con el nombre del continente y el porcentaje redondeado a las décimas. | ||
+ | - El color de cada parte será: | ||
+ | - América: "# | ||
+ | - Asia: "# | ||
+ | - África: "# | ||
+ | - Oceanía: "# | ||
+ | - Europa: "# | ||
+ | """ | ||
+ | |||
+ | fig, ax = plt.subplots() | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | continentes = data_continent.index.tolist() | ||
+ | print(continentes) | ||
+ | |||
+ | plt.title(" | ||
+ | plt.pie(data_continent[" | ||
+ | |||
+ | # ============================================ | ||
+ | plt.show() | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 5: | ||
+ | """ | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | continent = " | ||
+ | # ============================================ | ||
+ | |||
+ | data_one_continent = data[data[" | ||
+ | data_one_continent = data_one_continent[[' | ||
+ | data_one_continent = data_one_continent.groupby([' | ||
+ | data_one_continent = data_one_continent.sort_values(by=[' | ||
+ | print(data_one_continent[[' | ||
+ | |||
+ | """ | ||
+ | |||
+ | El gráfico debe tener: | ||
+ | - Título apropiado | ||
+ | - Nombre y unidades de los ejes cartesianos en caso de ser necesario | ||
+ | - Nombre de los paises al lado de cada barra | ||
+ | - Grilla con líneas verticales únicamente, | ||
+ | """ | ||
+ | |||
+ | fig, ax = plt.subplots() | ||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | print(data_one_continent.index) | ||
+ | paises = data_one_continent.index.tolist() | ||
+ | print(paises) | ||
+ | |||
+ | plt.xlabel(" | ||
+ | plt.ylabel(" | ||
+ | plt.title(" | ||
+ | plt.barh(paises, | ||
+ | ax.grid(axis = ' | ||
+ | |||
+ | # ============================================ | ||
+ | plt.show() | ||
+ | |||
+ | |||
+ | ## Ejercicio de grillas: | ||
+ | """ | ||
+ | |||
+ | np.random.seed(0) | ||
+ | df = pd.DataFrame(data={' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | print(df.head()) | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 6: | ||
+ | """ | ||
+ | |||
+ | La figura debe tener: | ||
+ | - 2 filas y 2 columas | ||
+ | - Tamaño de figura de una altura de 8 y un ancho de 15. | ||
+ | - Nombre de los ejes y referencia en cada gráfico | ||
+ | - Grilla | ||
+ | - La siguiente posición de gráficos: | ||
+ | - Los valores A en la parte superior izquierda, color `green` | ||
+ | - Los valores B en la parte superior derecha, color `red` | ||
+ | - Los valores C en la parte inferior izquierda, color `magenta` | ||
+ | - Los valores D en la parte inferior derecha, color `blue` | ||
+ | """ | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | fig, ax = plt.subplots(figsize=(15, | ||
+ | fig.suptitle(" | ||
+ | fig.subplots_adjust(wspace=0.5, | ||
+ | |||
+ | |||
+ | ax[0, 0].plot(df.index.values, | ||
+ | ax[0, 1].plot(df.index.values, | ||
+ | ax[1, 0].plot(df.index.values, | ||
+ | ax[1, 1].plot(df.index.values, | ||
+ | |||
+ | ax[0, | ||
+ | ax[0, | ||
+ | ax[1, | ||
+ | ax[1, | ||
+ | |||
+ | ax[0, | ||
+ | ax[0, | ||
+ | ax[1, | ||
+ | ax[1, | ||
+ | |||
+ | ax[0, 0].set_title(" | ||
+ | ax[0, 1].set_title(" | ||
+ | ax[1, 0].set_title(" | ||
+ | ax[1, 1].set_title(" | ||
+ | |||
+ | ax[0, 0].legend() | ||
+ | ax[0, 1].legend() | ||
+ | ax[1, 0].legend() | ||
+ | ax[1, 1].legend() | ||
+ | |||
+ | ax[0, 0].grid() | ||
+ | ax[0, 1].grid() | ||
+ | ax[1, 0].grid() | ||
+ | ax[1, 1].grid() | ||
+ | |||
+ | plt.show() | ||
+ | |||
+ | # ============================================ | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | print() | ||
+ | #Ejercicio 7: | ||
+ | """ | ||
+ | |||
+ | La figura debe tener: | ||
+ | - 2 filas y 1 columa | ||
+ | - Tamaño de figura de una altura de 8 y un ancho de 15. | ||
+ | - Título de cada gráfico | ||
+ | - Referencias | ||
+ | - Grilla | ||
+ | - La siguiente posición de gráficos: | ||
+ | - Los valores A Y B en la parte superior, en un gráfico de línea, color `green` y `red`, tipo de línea sólida y discontinua respectivamente. | ||
+ | - Los valores C Y D en la parte inferior, en un gráfico de puntos, color `magenta` y `blue`, marcador circular y triangulo invertido respectivamente. | ||
+ | """ | ||
+ | |||
+ | # =========== Código de alumno =============== | ||
+ | |||
+ | fig, ax = plt.subplots(figsize=(15, | ||
+ | fig.suptitle(" | ||
+ | fig.subplots_adjust(wspace=0.5, | ||
+ | |||
+ | ax[0].plot(df.index.values, | ||
+ | ax[0].plot(df.index.values, | ||
+ | ax[1].scatter(df.index.values, | ||
+ | ax[1].scatter(df.index.values, | ||
+ | |||
+ | ax[0].set_xlabel(" | ||
+ | ax[1].set_xlabel(" | ||
+ | |||
+ | ax[0].set_ylabel(" | ||
+ | ax[1].set_ylabel(" | ||
+ | |||
+ | ax[0].set_title(" | ||
+ | ax[1].set_title(" | ||
+ | |||
+ | ax[0].legend() | ||
+ | ax[1].legend() | ||
+ | |||
+ | ax[0].grid() | ||
+ | ax[1].grid() | ||
+ | |||
+ | plt.show() | ||
+ | |||
+ | # ============================================ | ||
+ | </ |