Skip to content

Combinando MTPL, SB, PD, NP na criação de gráficos

Matplotlib, Seaborn, NumPy e Pandas na criação de gráfico estatístico

Vamos utilizar todas as bibliotecas para criar um gráfico de dispersão com um modelo de regressão

Criando os dados a serem manipulados

python
# valores randômicos
np.random.seed(42)
n = 1000
pct_smokers = 0.2

# Variáveis
flag_fumante = np.random.rand(n) < pct_smokers
idade = np.random.normal(40,70, n)
altura = np.random.normal(170,10,n)
peso = np.random.normal(70,10,n)

# DataFrame
dados = pd.DataFrame({'altura': altura, 'peso': peso, 'flag_fumante': flag_fumante})

# Cria os dados para a variável fumante
dados['flag_fumante'] = dados['flag_fumante'].map({True: 'Fumante', False: 'Não Fumante'})

Visualizando os dados

python
dados.head()

out:

altura peso flag_fumante
0 155.936825 78.745171 Não Fumante
1 169.168944 63.502348 Não Fumante
2 154.952796 57.967991 Não Fumante
3 177.600560 59.579556 Não Fumante
4 170.824398 65.127971 Fumante


Criando o gráfico de dispersão

python
# Style
sea.set(style = 'ticks')

# lmplot
sea.lmplot(x = 'altura',
          y = 'peso',
          data = dados,
          hue = 'flag_fumante',
          palette = ['tab:blue', 'tab:orange'],
          height = 7)

# Labels e Título
plt.xlabel('Altura (cm)')
plt.ylabel('Peso (kg)')
plt.title('Relação entre altura e peso de fumantes e não fumantes')

# Remove as bordas
sea.despine()

# Mostrando o gráfico
plt.show()

out:




Podemos criar infinidades de gráficos, muitos com apenas 1 linha de código, se termos o conhecimento de como manipularmos, o céu é o limite.

Existem milhares de formas de fazer a mesma coisa, mas, a sua capacidade de profissional que define qual a melhor ferramenta e forma de fazer com base em cada caso e demanda.