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 37

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 鈥淐ountry鈥 cambia a 鈥淐ountry/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 鈥減ip3 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.

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

隆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}")

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

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,

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

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 鈥渄ata鈥 a diccionario de la misma forma que se hace con la variable 鈥渃ountry鈥 con respecto a la variable 鈥渞esult鈥. 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[鈥楥ountry鈥橾, 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

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