Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

dist_freq_quantitativas_personalizadas com Seaborn?

Olá,

Estou tentando plotar um gráfico parecido com o da aula utilizando o seaborn, mas não estou obtendo sucesso. Já tentei os seguintes código mas em nenhum deles chega sequer perto do ".plot.bar" mostrado em aula:

ax = sns.barplot(y = dist_freq_quantitativas_personalizadas.Frequência)

ax.figure.set_size_inches(12, 6)
ax.set_title('Distribuição de Frequências - Renda', fontsize = 18)
ax.set_xlabel('Classes', fontsize = 14)
ax

Este código plota um gráfico sem sentido.

ax = sns.barplot(x = dist_freq_quantitativas_personalizadas.index)

ax.figure.set_size_inches(12, 6)
ax.set_title('Distribuição de Frequências - Renda', fontsize = 18)
ax.set_xlabel('Classes', fontsize = 14)
ax

O código acima dá um erro dizendo que o x tem que ser numérico.

ax = sns.distplot(dist_freq_quantitativas_personalizadas.Frequência)

ax.figure.set_size_inches(12, 6)
ax.set_title('Distribuição de Frequências - Renda', fontsize = 18)
ax.set_xlabel('Classes', fontsize = 14)
ax

Este aqui também não faz sentido, e ainda altera quando coloco o kde = False

Enfim, tentei todas essas maneiras, inclusive o countplot, porém não obtive sucesso.

Há uma maneira de plotar igual ao '.plot.bar' utilizando o seaborn ou somente conseguirei plotar dessa maneira um DF como o dist_freq_quantitativas_personalizadas?

1 resposta
solução!

Boas Bruno! Tudo bem? Espero que sim.

Existem algumas formas de fazer o gráfico. Vou mostrar aquela que acho mais simples e eficiente.

Primeiro, vamos extrair a coluna que desejamos plotar no gráfico. Vou fazer isso tanto com a frequência quanto com a porcentagem:

valores = dist_freq_quantitativas_personalizadas['Frequência']
valores

Que retorna a series:

E    49755
D    16700
C     7599
B     2178
A      608
Name: Frequência, dtype: int64

Veja que a Series já contém tanto o indice quanto os valores, e é isso que vamos usar para montar o gráfico:

sns.barplot(x=valores.index, y=valores.values)

Que retorna:

Gráfico de barras indicando as classes socias por renda. Vê-se que a Classe E conta com a imensa maioria das pessoas enquanto as classes B e A são o mínimo da população

Agora, vamos fazer o mesmo com as porcentagens:

porcentagens = dist_freq_quantitativas_personalizadas['Porcentagem (%)'] *100
porcentagens

Que retorna:

E    64.751432
D    21.733472
C     9.889381
B     2.834461
A     0.791255
Name: Porcentagem (%), dtype: float64

E para montar o gráfico:

sns.barplot(x=porcentagens.index, y=porcentagens.values)

Que retorna:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!