It’s not stacking graphic

Asked

Viewed 41 times

2

Follow the code below:

import csv
import matplotlib.pyplot as pl

#RECEBENDO OS DADOS EM FORMA DE LISTA
recebe = open("Exemplo.csv")
dados = csv.reader(recebe,delimiter=';')

for i in dados:
    print(i)
recebe.close()
#------------------------------------------

print("<------------------------------------------->\n")
recebe = open("Exemplo.csv")
dados = csv.DictReader(recebe,delimiter=';') #DELIMITER É COMO OS CAMPOS ESTÃO DIVIDIDOS (PODENDO SER , E ;)
idades = []
for k in dados:
    idades.append(int(k["IDADE"]))

print(idades)

#TROCANDO ULTIMO VALOR
idades[6]= 39
#---------------------------
print(idades)

faixaEtaria=["0-20","21-30","30-45","45-90"]

#(EIXO X, EIXO Y, COLOR)

pl.bar(faixaEtaria,idades,color="red")
pl.ylabel("IDADES")
pl.xlabel("FAIXA ETÁRIAS")
pl.title("GRAFICO")
pl.show()

inserir a descrição da imagem aqui

This error appears when compiling the code, someone can help me solve or tell me where I am missing ?

1 answer

2

I think the kind of chart you want is a histogram, where the number of ages per band will be shown.

idades = [19, 20, 44, 55, 77, 88, 39]
#faixaEtaria=["0-20","21-30","30-45","45-90"]
faixaEtaria=[0,21,31,46,90]

pl.hist(idades, bins= faixaEtaria, align='mid')
pl.ylabel("IDADES")
pl.xlabel("FAIXA ETÁRIAS")
pl.title("GRAFICO")
pl.show()

The above example shows the following result:

inserir a descrição da imagem aqui

Note that the tracks (parameters bins) operate as follows: First break goes from [0, 21), 0 even, but 21 no. As a result, [21,31), [31,46). In the last interval, both limits are included, so we have [46,90].

Browser other questions tagged

You are not signed in. Login or sign up in order to post.