1
resposta

[Dúvida] Desafio 4

Eu tenho três perguntas, qual o motivo do meu histograma não aparecer até o número 80 no eixo x, assim como na resposta do instrutor, o motivo de não usar mais o [0] na mediana e como é essa distribuição para um intervalo de 5 anos no histograma?

fig, axs = plt.subplots(1, 2, figsize=(15,6))
sns.set_theme(style="darkgrid")

fig.suptitle('Distribuição da idade da população de Cidade Alegre \npara uma amostra de 500 pessoas',
fontsize=18, color=CINZA1, ha = 'left', x = 0.1, y = 1.05)

sns.histplot(ax = axs[0], data = df_pop_idade, x = "idade", binwidth = 5, color = AZUL2)
axs[0].set_title('Distribuição para um intervalo de 5 anos', fontsize=14, color=CINZA1, x = 0.38, pad = 10)
axs[0].set_xlabel('Idade', fontsize = 14)
axs[0].set_ylabel('Quantidade', fontsize = 14)
axs[0].yaxis.set_tick_params(labelsize=12, labelcolor = CINZA2)
axs[0].xaxis.set_tick_params(labelsize=12, labelcolor = CINZA2)

sns.kdeplot(ax = axs[1], data = df_pop_idade, x = "idade", color = AZUL3, lw = 0, fill = True)
axs[1].set_title('Com as medidas de tendência central', fontsize=14, color=CINZA1, x = 0.35, pad = 10)
axs[1].set_xlabel('Idade', fontsize = 14)
axs[1].set_ylabel('')
axs[1].set_yticklabels([])
axs[1].xaxis.set_tick_params(labelsize=12, labelcolor = CINZA2)

estat = df_pop_idade.idade.median()
desc = 'Mediana'

axs[1].vlines(x = estat, ymin = 0, ymax = 0.04, colors = CINZA1, linestyles = '--')
axs[1].text(0.6, 0.6, f'{desc} = {int(df_pop_idade.idade.median())} anos', fontsize=14, color = CINZA1, transform=axs[1].transAxes)

plt.show()

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

1 resposta

Ei! Tudo bem, William?

É verdade, fiz o teste por aqui e não apareceu. Caso não tenha dados inclusos de valores até 80, logo não aparecerá. Mas, podemos adicionar o limite do eixo x com axs[0].set_xlim(0, 80) para exibir.

Sobre a mediana, nas versões recentes do Pandas, é retornando o valor diretamente dela, não tendo mais necessidade de acessar o primeiro elemento de um array.

Quanto a distribuição para um intervalo de 5 anos, o parâmetro binwidth=5 no sns.histplot() define barras que representam intervalos de 5 anos, permitindo visualizar a distribuição dos dados nesses intervalos.

Espero ter ajudado e qualquer dúvida, compartilhe no fórum.

Até mais,

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!