No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Gráficas en Python con PIP

8/20
Recursos

Aportes 39

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Una cosa que me gusta de las clases del profe Nicolas es que cuando sale un error en la terminal, da esa pausa para aprender a leerlo y saber que fue lo que sucedió, algo común que nos sucede en todo el tiempo y no es de alarma es solo aprender a interpretarlo y solucionarlo.

vale recordar que en donde esta ubicado el string “Country” cambia a “Country/Territory” con el archivo csv actualizado, esto lo comentaron en el curso pasado.

A los que les arroja un error por la librería Pandas, deben ingresar el comando “pip3 install pandas” en la terminal.

Hola Chicos! 😄
Luego de hacer los cambios en el archivo de main.py_ correr en la terminal el siguiente comando

 python3 main.py

luego poner el pais y finalmente verificar las graficas.

¡Hola!

Algo cierto es que puedes tener una excepción cuando una carpeta no existe, pero también puedes crear una función para que se encargue de crearla por el usuario, te dejo un código que realicé para la creación de carpetas:

import os


def create_folder(path, name_folder="logs"):
    path_to_create = os.path.join(path, name_folder)
    try:
        os.mkdir(path_to_create)
        print("Created successfully!")
    except Exception as err:
        print(f"It has occurred an unexpected error, details: {err}")

Estas clases me gustan, porque el profe va teniendo varios errores que los principiantes solemos tener y es mucho más facíl entender cuándo nossucede algo.

Si sientes que estas medio perdido en este punto no te preocupes, intenta continuar con las instrucciones del profe, ya topcaran ejercicios q te haran practicar mas

Y en donde encontramos estos archivos, podrian colocar el link.

Buenasss! Espero que se encuentren bien! Yo estuve peleando con un error, ya que no me generaba el gráfico y esto se daba a que en el key : `countries = list(map(lambda x: x['Country'], data))` Yo lo tenía cargado con 'Country/Territory'. Para que me generara el gráfico sólo tuve que poner este mismo nombre en : `charts.generate_ba_chart(country['Country/Territory'], labels, values)` y **FIN**. **Quiero destacar que haber visto el curso anterior me ayudó a identificar el error y así poder corregirlo!** *Espero poder ayudar a alguien con este aporte!* *Saludos Comunidad :D*

Si quieren abrir VS code directo desde la terminal solo escriban

code 'nombre del archivo'

ej:  $ code main.py

Otra forma si no llega a funcionar correctamente el guardado del nombre ingresado para la imagen:

plt.savefig('./imgs/{Name}.png')

Se puede utilizar la siguiente forma de imprimir:

plt.savefig('./imgs/' + Name + '.png')

Lo que paso con el país convirtiéndose en un diccionario es uno de los peligros de python, que no pasa con un lenguaje como java, no es mejor ni peor, es distinto, la forma de evitar esos errores es usar una nueva variable para un dato diferente , uno de los principios de la programación funcional(no exactamente, pero orientandolo a python)

actualmente en reptil pueden conectarlo a GitHub o crear un repo y hacer merge de todo el proyecto,

Esta clase esta muy bien para saber que hacer con un csv, bueno saber que se hacía, el saber nunca ocupa lugar pero solo dire una cosa:

PANDAS y Jupyter

Si vas a trabajar analizando datos es lo que vas a usar, si alguna vez por algo extraordinario no tengo acceso a pandas pues aprendere a montar una tabla en VS (vamos seguramente me descargue el codigo y lo utilice directamente )

También agregue a la función de la gráfica de pie el guardar la gráfica con el nombre del continente, para esto creé una nueva variable en donde convierto la lista de diccionarios de la variable “data” a diccionario de la misma forma que se hace con la variable “country” con respecto a la variable “result”. Acá les comparto el código:

def run():
  data = read_csv.read_csv('data.csv')
  data = list(filter(lambda item: item['Continent'] == 'South America', data))
  data_dict = data[0]
  countries = list(map(lambda x: x
  ['Country/Territory'], data))
  percentages = list(map(lambda x: x['World Population Percentage'], data))
  charts.generate_pie_chart(data_dict['Continent'], countries, percentages)

Aquí pueden obtener el código de https://replit.com/@NicolasMolina13/Python-102?v=1 presionan en show code

si alguien tiene este error al ejecutar main. py:
Traceback (most recent call last):
File “/home/jeisonpc/py-project/APP/main.py”, line 26, in <module>
run()
File “/home/jeisonpc/py-project/APP/main.py”, line 22, in run
Charts.generate_bar_chart(country[‘Country’], labels, values)
TypeError: generate_bar_chart() takes 2 positional arguments but 3 were given
root:~/py-project/APP$ python3 main. py

lo solucione cambiando en el charts:

def generate_bar_chart(country, labels, values):
fig, ax = plt.subplots()
ax.bar(labels, values)
plt.savefig(f’./imgs/{country}.png’)
plt.close()

debido a que el name me daba error y no me dejaba ejecutar ni guardar las imagenes.

espero les ayude

Recuerden instalar pandas con pip
Muchas gracias profesor, con un par de clases de este curso, me siento como experto en la terminal de linux, que sé que no es el punto pero ha sido buena práctica.
Esta clase me pareció muy interesante y aunque surgieron varios errores me parecen que la manera en que El Profe los maneja crean una clase divertida y nutrida no solo llena de conceptos y palabras complicadas como muchas veces sucede en las clases catedrática, por el contrario se lleva a otro nivel dando a conocer escenarios que pueden llegar a suceder en un entorno productivo.
estoy atorado en este punto no me genera las imágenes y queda como si siguiera ejecutándose infinitamente![](<C:\Users\User\Pictures\Icecream Screen Recorder\Screenshot_2024_02_08-1>)

Me gusto mucho el como trabajar con python y usar las imagenes para un proceso basico de backend. Es muy interesante.

genial…!

increible... ![](https://static.platzi.com/media/user_upload/savefile-ad44443b-0c94-47d4-a150-ff53a5d1aa01.jpg) ```js result = population_by_country(data, country) if len(result) > 0: country = result[0] key, value = get_population(country) labels = key values = list(map(int, value)) print() country = result[0]['Country/Territory'] capital = result[0]['Capital'] continent = result[0]['Continent'] option_chart = int(input("option : [1]. vertical bars [2]. horizontal bars [3]. plot dashes \noption: ")) if option_chart == 1: generate_bar_chart(labels, values, country, capital, continent) if option_chart == 2: generate_barh_chart(labels, values, country, capital, continent) if option_chart == 3: generate_plot_chart(labels, values, country, capital, continent) if option_chart == 4: pass ```result = population\_by\_country(data, country) if len(result) > 0: country = result\[0] key, value = get\_population(country) labels = key values = list(map(int, value)) print() country = result\[0]\['Country/Territory'] capital = result\[0]\['Capital'] continent = result\[0]\['Continent'] option\_chart = int(input("option : \[1]. vertical bars \[2]. horizontal bars \[3]. plot dashes \noption: ")) if option\_chart == 1: generate\_bar\_chart(labels, values, country, capital, continent) if option\_chart == 2: generate\_barh\_chart(labels, values, country, capital, continent) if option\_chart == 3: generate\_plot\_chart(labels, values, country, capital, continent) if option\_chart == 4: pass
Hola, estoy trabajando en con MacOS y me esta saliendo esto. ![](https://static.platzi.com/media/user_upload/Screenshot%202023-11-06%20at%205.10.30%E2%80%AFPM-be66862e-e47f-4a95-947b-33ddceed2d3e.jpg) Alguien sabe que está pasando? No he podido encontrar una respuesta por ningún lado

En mi proyecto, en una sola grafica tengo 4 paises, tiene para reconocer errores de plurales, mayusculas y palabras similares. Es una de las cosa más dificiles que he hecho, me he tardado 3 semanas, y me siento orgulloso de completarlo gracias a platzi. Al final publico el proyecto ya que con este curso pude ejecutarlo desde mi pc y no desde replit como antes.

![](https://static.platzi.com/media/user_upload/image-7cc7b3e9-df26-4d75-8204-e75db5f546ff.jpg) Amigos, no puedo generar la grafica de bar de ningun pais, solo la de pie, y aparte me sale el mensaje de " import matplotlib.pyplot could not be resolved from source ". Ya intente por varias formas, desinstale el matplotlib, lo actualice, busque en varios blogs y nada, por eso recurro a ustedes ojala puedan ayudarme ![]()

Las pausas para la autopsia y explicacion de la verificacion de los errores son geniales. En Notion tengo un resumen de los ERRORES O EXCEPCIONES INTEGRADAS EN PYTHON https://jahmjah.notion.site/ERRORES-O-EXCEPCIONES-INTEGRADAS-EN-PYTHON-28bb82b87c8e40fbb774d02aecba0c4a?pvs=4

Mi Méxicoooo lindo y queridooooo, si mueroo lejos queeeeeeee, me traigan a tiii…

mi pobre forma de resolverlo

import utils
import read_csv
import charts

def run():
  data = read_csv.read_csv('data.csv')
  data = list(filter(lambda item : item['Continent'] == 'South America',data))

  countries = list(map(lambda x: x['Country'], data))
  percentages = list(map(lambda x: x['World Population Percentage'], data))
  charts.generate_pie_chart(countries, percentages)
  
  name = input('Type Country => ')
  country = name

  result = utils.population_by_country(data, country)

  if len(result) > 0:
    country = result[0]
    labels, values = utils.get_population(country)
    charts.generate_bar_chart(name, labels, values)


if __name__ == '__main__':
  run()

Me gusta la claridad con la que Nicolas explica

✌✌✌

  • Aprendi algo nuevo sobre la lectura del archivo. Si es vsCode llamamos el code . desde una carpeta Padre, toca colocarle en el read del csv, esa ruta. Y para ejecutarlo desde la terminal ubicarnos en la mima carpeta en que llamamos el code .

    • De igual manera con la ruta de guardar las imagenes.
  • Supongo que abra algo para que se puede ejecutar de una manera mas sencilla.

Me gustó mucho el hecho de utilizar módulos y las hof! en qué clase se ver para checar cómo lo hacen de 0?

Muchos tendran el problema de que no le está generando la imagen.

Aqui la solución:

Problemas con el backend de matplotlib: Matplotlib tiene varios backends que pueden ser utilizados para renderizar las gráficas. Si no se especifica un backend explícitamente, matplotlib intentará utilizar el backend predeterminado de tu sistema. Si esto no funciona, puedes intentar cambiar el backend que está utilizando matplotlib. Por ejemplo, puedes agregar las siguientes líneas al principio de tu script para cambiar el backend a TkAgg:

import matplotlib
matplotlib.use('TkAgg')

Hagan esto en el modulo charts

Espero sea de ayuda!

Excelente clase, poniendo en practica lo que habíamos realizado en replit, pero ahora en VSCode

yo estuve batallando por el problema de instalación de matplotlib ya que no me lo reconocia VScode pero les dejo el siguiente link:

https://matplotlib.org/stable/users/installing/index.html

viene en sus diferentes sistemas operativos y ambientes como conda o venv