Desafio 1
import pandas as pd
cidade = pd.read_csv('https://raw.githubusercontent.com/Gabriellemga/Python_Cursos_Alura/refs/heads/main/Data_viz_graficos_distribui%C3%A7%C3%A3o_compara%C3%A7%C3%A3o/dados/pop_idade.csv')
cidade.head()
import matplotlib.pyplot as plt
import seaborn as sns
fig, axs = plt.subplots(1, 2, figsize = (15,7))
sns.set_theme(style="white")
fig.suptitle('Distribuição das idades na Cidade de Alegre para uma amostra de 500 pessoas',
fontsize = 18, color = CINZA1, ha = 'right', x = 0.8)
sns.histplot(ax = axs[0] , data = cidade, x = 'idade' , binwidth = 5, color = AZUL2)
axs[0].set_title('Distribuição para um intervalo de 5 anos', size=14, color=CINZA2, x = 0.45)
axs[0].set_xlabel('Idade', fontsize = 12 )
axs[0].set_ylabel('Quantidade', fontsize = 12)
axs[0].xaxis.set_tick_params(labelsize = 12, labelcolor = CINZA1)
axs[0].yaxis.set_tick_params(labelsize = 12, labelcolor = CINZA2)
sns.despine()
sns.kdeplot(ax = axs[1], data = cidade, x = "idade", color = AZUL2, fill = True)
axs[1].set_title('Medidas de tedência central', size = 14, color = CINZA2, x = 0.3)
axs[1].set_xlabel('Idade', fontsize = 12 )
axs[1].set_ylabel('')
axs[1].xaxis.set_tick_params(labelsize = 12, labelcolor = CINZA1)
sns.despine()
axs[1].vlines(x = cidade['idade'].median(), ymin = 0, ymax = 0.039, colors = CINZA1, linestyles = "--")
axs[1].text(0.6, 0.6, f'Mediana = {int(cidade["idade"].median())} anos', fontsize=14, color = CINZA2, transform=axs[1].transAxes)
Desafio 2
import pandas as pd
vol_amaciante = pd.read_csv("https://raw.githubusercontent.com/alura-cursos/dataviz-graficos/master/dados/volume_amaciante.csv")
vol_amaciante.head()
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=(6,8))
sns.set_theme(style="white")
ax = sns.boxplot(vol_amaciante, y = 'Volume', orient = 'v', color = AZUL2)
plt.suptitle('Boxplot do volume do amaciante', size=18, color=CINZA1, ha = 'right', x = 0.81, y = 0.97)
plt.title('para uma amostra de 1000 unidades', fontsize=14, color=CINZA2, pad = 15, loc = "left")
ax.set_xlabel('')
ax.set_ylabel('Volume (ml)', fontsize = 14)
ax.yaxis.set_tick_params(labelsize=12, labelcolor = CINZA2)
sns.despine(bottom=True)
IIQ = vol_amaciante['Volume'].quantile(0.75) - vol_amaciante['Volume'].quantile(0.25)
ax.annotate("Limite Superior", xy=(0, vol_amaciante.quantile(.75) + 1.5 * IIQ), xycoords='data',
bbox=dict(boxstyle="round", fc=CINZA5, ec=CINZA3),
xytext=(50, 0), textcoords='offset points',
arrowprops=dict(arrowstyle="->", color=CINZA3))
ax.annotate("Limite Inferior", xy=(0, vol_amaciante.quantile(.25) - 1.5 * IIQ), xycoords='data',
bbox=dict(boxstyle="round", fc=CINZA5, ec=CINZA3),
xytext=(50, 0), textcoords='offset points',
arrowprops=dict(arrowstyle="->", color=CINZA3))
plt.show()