5 principais bibliotecas de Visualização de Dados em Python

Neste artigo, abordaremos as 5 principais bibliotecas de visualização de dados Python. Criaremos as mesmas visualizações com todas elas para que tenhamos uma visão geral das diferenças e semelhanças entre elas.

Criaremosas gráficos usando o conjunto de dados de habitação melbourne disponível no Kaggle.

O primeiro passo é carregar o conjunto de dados em um dataframe pandas.

import numpy as np
import pandas as pd
df = pd.read_csv("/content/melb_data.csv",
usecols = ['Price','Landsize','Type'],
nrows = 1000)
df = df[df.Landsize < 1000]df.head()

Criamos o DataFrame lendo apenas 3 colunas e as primeiras 1000 observações do conjunto de dados de habitação de Melbourne. Agora, filtramos os outliers em relação ao tamanho da terra.

Matplotlib

O exemplo é um gráfico de dispersão. É usado principalmente para visualizar a relação entre duas variáveis contínuas. Eles fornecem uma visão geral da correlação entre as variáveis.

Podemos criar um gráfico de dispersão com as colunas de preço e distância.

import matplotlib.pyplot as plt
plt.figure(figsize = (10,6))
plt.scatter(x = df.Price, y = df.Landsize)
plt.xlabel("Price", fontsize=13)
plt.ylabel("Landsize", fontsize=13)
scatter plot Matplotlib

Observamos uma ligeira correlação positiva entre o preço e o tamanho da terra como esperado.

Outro tipo de visualização comumente usada é o histograma, amos criar um histograma da coluna de preços.

plt.figure(figsize = (10,6))plt.hist(x = df.Price)
plt.xlabel("Price", fontsize=13)
histograma Matplotlib

Seaborn

Seaborn é uma biblioteca de visualização de dados estatísticos construída sobre Matplotlib. Seaborn é uma biblioteca de alto nível comparada com Matplotlib. Sua sintaxe é mais simples, mas você tem menos controle sobre a personalização das visualizações em alguns casos.

import seaborn as snssns.relplot(data = df, 
x = 'Price',
y = 'Landsize',
kind = 'scatter',
height = 5,
aspect = 1.6)
scatter plot Seaborn

Os parâmetros de altura e estéticos são usados para personalizar o tamanho da trama. O código a seguir criará um histograma da coluna de preços:

sns.displot(data = df,
x = 'Price',
kind = 'hist',
height = 5,
aspect = 1.6)
histograma Seaborn

Altair

Altair é uma biblioteca de visualização estatística declarativa para Python. Altair é altamente flexível em termos de transformações de dados.

Aqui está como podemos criar um gráfico de dispersão com Altair:

alt.Chart(df).mark_circle().encode(
x = 'Price',
y = 'Landsize')
.properties(height = 300, width = 500)
scatter plot Altair
  • A síntaxe começa com um objeto de gráfico de nível superior que usamos para anexar os dados;
  • A próxima parte define o tipo de gráfico;
  • A função de codificação especifica as colunas a plotagem. Finalmente, a função propriedades é usada para personalizar o enredo em vários aspectos.

A estrutura da síntaxe para criar um histograma é a mesma. Apenas mudamos a função que define o tipo de gráfico. Há duas maneiras de especificar as colunas a serem plotadas.

alt.Chart(df).mark_bar().encode(
alt.X('Price',
bin = True),
y = 'count()')
.properties(height=300, width=500)
histograma Altair

Plotly

É uma biblioteca de plotagem de código aberto construída em javascript plotly (plotly.js).

O Plotly oferece uma API de alto nível (plotly express) e uma API de baixo nível(objetos gráficos) para criar visualizações. Plotly express torna a sintaxe mais simples. Por outro lado, a sintaxe é um pouco mais complicada com objetos gráficos, mas temos mais controle sobre o que criamos.

Usaremos a interface expressa de plotly para criar nosso gráfico de dispersão e histograma.

import plotly.express as pxpx.scatter(df, x = 'Price', y = 'Landsize', height=500, width=700)
px.histogram(df, x='Price', height=500, width=700)
histograma Plotly

Bokeh

Bokeh é uma biblioteca de visualização interativa para navegadores modernos. Assim, além de gerar parcelas básicas, o Bokeh também pode ser usado para criar dashboard e aplicativos de dados.

Antes de criar o gráfico de dispersão e o histograma, vamos importar as dependências necessárias.

from bokeh.io import output_notebook, show
from bokeh.plotting import figure
output_notebook()

Aqui está como podemos criar um gráfico básico de dispersão com Bokeh.

p = figure(plot_height=400, plot_width=600)
p.circle(df.Price, df.Landsize)
show(p)

Precisamos de uma ajuda da NumPy para criar o histograma. Usamos a função np.histogram do NumPy para calcular o histograma da coluna de preços. Em seguida, os dados transformados são passados para a função quad de Bokeh.

hist, edges = np.histogram(df.Price, bins = 10)p = figure(plot_height=400, plot_width=600)
p.quad(top=hist, bottom=0, left=edges[:-1], right=edges[1:])
show(p)

o que vimos aqui

Cobrimos brevemente 5 bibliotecas de visualização de dados diferentes para Python. Criamos gráficos muito básicas para ter uma visão geral das diferenças e semelhanças entre eles.

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store