Por: Ricardo Dortas Schönhofen
A biblioteca Seaborn atua em cima do matplotlib e ajuda a melhorar o visual dos gráficos, dando uma aparência mais bem acabada. Seguem alguns exemplos de como usar o Seaborn na geração de gráficos.
#importando as classes
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
#Exemplo 1: Desenhando linhas
def sns_plota_linha():
sns.set_style("whitegrid")
plt.plot(np.cumsum(np.random.randn(1000,1)))
plt.savefig('/Users/ricds/Desktop/RDS-Chart-test.jpg')
#se preferir exibir o gráfico ao invés de gerar o arquivo, use: plt.show()
#Exemplo 2: Desenhando um gráfico de barras:
def sns_plota_barra():
sns.set(style="whitegrid", context="talk")
f, (ax1) = plt.subplots(1, 1, figsize=(8, 6), sharex=True)
x = np.array(list("ABCDEFGHI"))
#y1 = np.arange(1, 10)
y1 = [1,3,5,4,3,6,8,4,8]
sns.barplot(x, y1, palette="BuGn_d", ax=ax1)
ax1.set_ylabel("Sequential")
sns.despine(bottom=True)
plt.setp(f.axes, yticks=[])
plt.show()
#Exemplo 3: Desenhando um gráfico de barras horizontal: #definindo variáveis pop = {"São Paulo": 12000000, "Rio": 7000000, "Salvador": 4000000, "Recife": 3500000, "Porto Alegre": 2500000} cidades = [i for i in pop.keys()] populacao = [j for j in pop.values()] popPos = np.arange(len(cidades)) azul = "blue" preto = "black" def plota_barra_h_1(): df = pd.read_csv('pop.csv', sep=";", encoding='utf-8') sns.set(style="whitegrid") sns.set_color_codes("pastel") g = sns.barplot(x="Population", y="City", data=df, color=azul) g.axes.set_title('População cidades brasileiras', fontsize=18,color="black",alpha=2) g.set_xlabel("População (em milhares)", size = 12,color="black") g.set_ylabel("Cidades", size = 12,color="black") sns.despine(left=True, bottom=True) plt.show()
#Exemplo 4: Desenhando um gráfico de duas barras:
def plota_bar_dupla_1():
df = pd.read_csv('notas.csv', sep=";", encoding='utf-8')
sns.set(style="whitegrid")
sns.set_color_codes("pastel")
g = sns.factorplot(x="Materia", y="Nota", hue="Pessoa", data=df, size=6, kind="bar", palette="muted")
g.despine(left=True)
plt.show()
#Exemplo 5: Desenhando um gráfico de dispersão (Scatter Plot) def plota_dispersao_1(): sns.set_style("whitegrid") #gerando os dados N=1000 x = np.random.randn(N) y = np.random.randn(N) #gerando o dataframe df = pd.DataFrame({'x': x, 'y': y}) #gerando o gráfico df.plot(kind = 'scatter', x = 'x', y = 'y') plt.show()
Veja também:
- Guia básico para plotar gráficos usando o matplotlib do Python
- Guia básico para plotar gráficos usando o matplotlib do Python parte 2
- Guia de acesso rápido – Python para Data Science – Matplotlib