Pular para o conteúdo principal

Seaborn barplot: um guia completo

Aprenda a criar e personalizar barplots do Seaborn em Python. Domine técnicas essenciais para visualizar relações categóricas, do básico a recursos avançados.
Atualizado 17 de set. de 2026  · 10 min lido

Explorar com IA

ChatGPTClaudePerplexity

A visualização de dados transforma informações complexas em insights claros e acionáveis. Os barplots do Seaborn se destacam ao apresentar dados categóricos com gráficos estatísticos elegantes. A biblioteca combina a flexibilidade do Matplotlib com o poder do pandas, sendo ideal tanto para análises rápidas quanto para visualizações prontas para publicação.

Os barplots do Seaborn oferecem recursos essenciais para análise de dados — de comparações básicas a representações estatísticas avançadas. Eles lidam com tarefas comuns como comparar métricas de vendas entre regiões, analisar respostas de pesquisas e visualizar resultados de experimentos. 

A sintaxe intuitiva e as funções estatísticas embutidas tornam a biblioteca valiosa para iniciantes e profissionais experientes em dados.

Neste artigo, vamos ver o básico do Seaborn barplot, criar gráficos simples com exemplos de código, aprimorar os gráficos com personalização, aplicar recursos avançados e explorar aplicações práticas.

Para saber mais sobre visualização de dados com Seaborn, confira nosso curso Introduction to Data Visualization with Seaborn.

Noções básicas do Seaborn barplot

Antes de entrar nos barplots, vamos ver alguns fundamentos do Seaborn, suas vantagens para gráficos de barras e como configurar o ambiente de código.

O que é o Seaborn?

Seaborn é uma biblioteca Python de visualização estatística de dados construída sobre o Matplotlib. Ela é especializada em criar gráficos estatísticos informativos e atraentes com pouco código. A biblioteca integra-se de forma estreita com DataFrames do pandas, tornando-se especialmente eficaz em fluxos de trabalho de análise de dados.

Ela oferece uma interface de alto nível para desenhar gráficos atraentes enquanto cuida automaticamente de muitos detalhes de estilo.

A biblioteca se destaca em três aspectos-chave:

  • Integra-se perfeitamente com DataFrames do pandas, facilitando a manipulação de dados
  • Tem funções estatísticas embutidas, eliminando a necessidade de cálculos à parte
  • Aplica temas e paletas de cores com aparência profissional por padrão

Por exemplo, enquanto o Matplotlib exige várias linhas de código para criar uma visualização estatística básica, o Seaborn consegue a mesma tarefa com uma única função. 

Especificamente para gráficos de barras, o Seaborn adiciona recursos poderosos como cálculo automático da média, intervalos de confiança e tratamento avançado de variáveis categóricas — capacidades que exigiriam muito mais código no Matplotlib puro.

Por que usar barplots?

Barplots apresentam dados categóricos por meio de barras verticais ou horizontais, em que o comprimento representa um valor numérico. Isso os torna ideais para comparar valores entre diferentes grupos ou categorias. Em análise de dados, gráficos de barras ajudam a visualizar resultados de pesquisas, participação de mercado, métricas de desempenho e distribuições de vendas.

Principais vantagens:

  • Comparação clara de quantidades entre categorias
  • Recursos estatísticos embutidos (média, mediana, intervalos de confiança)
  • Representação eficaz de dados agrupados
  • Elementos visuais simples, porém informativos
  • Opções de personalização fáceis para apresentações profissionais

Configuração rápida

Para começar a criar barplots com Seaborn, vamos configurar o ambiente Python. Veja como começar:

Primeiro, vamos instalar os pacotes necessários, como abaixo:

pip install seaborn pandas numpy

Agora temos todas as ferramentas de visualização prontas para uso. Vamos importar as bibliotecas necessárias, conforme abaixo:

# Para criar visualizações estatísticas
import seaborn as sns

# Para manipulação e análise de dados
import pandas as pd

# Para operações numéricas
import numpy as np

Podemos deixar nossos gráficos mais bonitos com algumas configurações de estilo, assim:

# Estilo clean (fundo branco)
sns.set_style("white")

O estilo white remove as linhas de grade e faz os gráficos ficarem bons na maioria das telas. Nas próximas seções, veremos como criar barplots e aprimorá-los.

Criando barplots básicos no Seaborn

Um barplot é perfeito para visualizar relações entre variáveis categóricas e numéricas. Ele mostra estimativas pontuais (como média ou mediana) e a incerteza dessas estimativas por meio de barras de erro. Vamos ver a sintaxe básica do seaborn barplot.

Sintaxe e parâmetros

A função sns.barplot() no Seaborn oferece uma maneira direta de criar gráficos de barras estatísticos. A estrutura básica de .barplot() é como mostrado abaixo:

sns.barplot(
    data=None,      # Seu DataFrame
    x=None,         # Variável categórica
    y=None,         # Variável numérica
    estimator='mean',  # Função estatística para estimar
    errorbar=('ci', 95),  # Tipo e nível das barras de erro
    orient=None     # "v" para vertical, "h" para horizontal
)

Esses parâmetros nos dão controle sobre quais dados exibimos e como exibimos. O parâmetro data recebe seu DataFrame, enquanto x e y especificam quais colunas usar para categorias e valores. O estimator permite escolher a função estatística a aplicar (média por padrão), e errorbar controla como a incerteza é exibida. Você também pode alternar entre orientações vertical e horizontal usando o parâmetro orient.

Agora, vamos ver como criar barplots eficazes usando o dataset integrado tips do Seaborn, que contém informações sobre contas e gorjetas em restaurantes.

Exemplo: visualizando um dataset simples

Vamos observar o comportamento de gorjetas ao longo dos dias da semana usando o dataset tips. Ele traz informações sobre as contas do restaurante, incluindo o dia da semana, valor total da conta, valor da gorjeta e outras variáveis.

# Importar bibliotecas necessárias e carregar o dataset
import seaborn as sns
tips = sns.load_dataset("tips")

# Criar um barplot básico mostrando a média de gorjetas por dia
sns.barplot(data=tips, x="day", y="tip")

Resultado:

Nosso código gerou a visualização acima, em que cada barra representa o valor médio da gorjeta para um dia da semana. A altura de cada barra mostra a gorjeta média, enquanto as linhas pretas (barras de erro) indicam o intervalo de confiança de 95% — oferecendo uma noção do valor típico e de sua variação.

Também podemos analisar padrões de gorjetas entre diferentes horários de refeição:

# Criar um barplot mostrando a média de gorjetas por horário
sns.barplot(data=tips, x="time", y="tip")

Resultado:

Esse gráfico revela a diferença no comportamento de gorjetas entre almoço e jantar. A altura de cada barra representa a gorjeta média naquele período do dia, com barras de erro mostrando a variabilidade. Esse tipo de visualização facilita detectar padrões e comparar grupos num relance.

Esses barplots básicos são a base para visualizações mais complexas. Na próxima seção, veremos como aprimorá-los com cores, agrupamentos e outras personalizações para torná-los mais informativos e atraentes.

Aprimorando barplots com personalizações

Adicionar melhorias visuais aos barplots ajuda a tornar os dados mais envolventes e fáceis de entender. Vamos ver diferentes formas de personalizar barplots usando o dataset tips.

Adicionando cores aos barplots

O Seaborn oferece várias maneiras de adicionar cor aos seus barplots, deixando-os mais atraentes e informativos. Podemos usar uma cor única para todas as barras ou criar grupos com cores distintas,

O parâmetro color define uma única cor para todas as barras, enquanto palette permite especificar um esquema de cores quando os dados têm vários grupos. O Seaborn traz muitas paletas embutidas que funcionam bem para diferentes tipos de dados.

Podemos criar um barplot simples com uma única cor usando o parâmetro color, como abaixo:

# Carregue o dataset tips se ainda não o fez
import seaborn as sns
tips = sns.load_dataset("tips")

# Barplot com cor única
sns.barplot(data=tips, x="day", y="tip", color="skyblue")

Resultado:

Podemos criar um barplot com várias cores usando o parâmetro palette, como abaixo:

# Carregue o dataset tips se ainda não o fez
import seaborn as sns
tips = sns.load_dataset("tips")

# Usando uma paleta de cores diferente
sns.barplot(data=tips, x="day", y="tip", palette="Set2")

Resultado:

Seaborn barplot com várias colunas

Um dos recursos mais poderosos dos barplots do Seaborn é a capacidade de mostrar relações entre múltiplas variáveis usando o parâmetro hue. Isso cria barras agrupadas que facilitam as comparações.

Vamos comparar as gorjetas por dia e por horário de refeição usando o parâmetro hue, como abaixo:

# Carregue o dataset tips se ainda não o fez
import seaborn as sns
tips = sns.load_dataset("tips")

# Criar um barplot agrupado mostrando gorjetas por dia e horário
sns.barplot(
    data=tips,
    x="day",
    y="tip",
    hue="time"
)

Resultado:

O gráfico acima mostra duas barras — uma para almoço e outra para jantar. Esse agrupamento ajuda a ver não só como as gorjetas variam por dia, mas também como diferem entre os horários das refeições.

Criando stacked barplot no Seaborn

Barplots empilhados são excelentes para mostrar a composição de diferentes categorias. Embora o Seaborn não tenha uma função direta para stacked barplot, podemos combiná-lo com o matplotlib para criar visualizações empilhadas eficazes. 

Essa abordagem aproveita a funcionalidade estatística do Seaborn enquanto usa os recursos de empilhamento do matplotlib. Como exemplo, no dataset tips, vamos ver como as gorjetas se distribuem entre fumantes e não fumantes ao longo dos dias.

Vamos começar importando as bibliotecas necessárias para nossa visualização:

# Importar bibliotecas necessárias
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

Agora vamos carregar nosso dataset com informações sobre gorjetas em restaurantes:

# Carregar o dataset tips
tips = sns.load_dataset("tips")

Vamos criar uma figura com dimensões apropriadas para a visualização:

# Criar figura e eixo
plt.figure(figsize=(10, 4))

Em seguida, vamos calcular as gorjetas médias de fumantes e não fumantes por dia:

# Calcular valores para empilhamento
# Filtrar fumantes, agrupar por dia e obter a média das gorjetas
smoker_means = tips[tips['smoker']=='Yes'].groupby('day')['tip'].mean()
 
# Filtrar não fumantes, agrupar por dia e obter a média das gorjetas     
non_smoker_means = tips[tips['smoker']=='No'].groupby('day')['tip'].mean()

Depois, vamos definir os parâmetros básicos para nossas barras empilhadas, como abaixo:

# Plotar as barras empilhadas usando matplotlib
days = smoker_means.index
width = 0.8

Agora, vamos criar a camada inferior das barras empilhadas para não fumantes:

# Criar barras de base (não fumantes)
plt.bar(days, non_smoker_means, width, label='Non-smoker', color=sns.color_palette()[0])

Vamos adicionar a camada superior para as gorjetas de fumantes:

# Criar barras superiores (fumantes)
plt.bar(days, smoker_means, width, bottom=non_smoker_means, 
        label='Smoker', color=sns.color_palette()[1])

Vamos aplicar um estilo clean sem grades usando o estilo do seaborn:

# Adicionar o estilo do Seaborn
sns.set_style("white")

Por fim, vamos exibir nosso stacked barplot concluído:

# Mostrar o gráfico
plt.show()

Resultado:

O gráfico resultante mostra as gorjetas médias de fumantes empilhadas sobre as de não fumantes em cada dia, facilitando comparar tanto o total quanto a contribuição de cada grupo.

Esse recurso alternativo nos permite:

  • Manter o estilo visual atraente do Seaborn
  • Empilhar as barras para mostrar composição
  • Preservar a natureza estatística da visualização
  • Usar as paletas de cores do Seaborn para consistência

Recursos avançados e boas práticas

Agora que cobrimos o básico e as personalizações, vamos ver alguns recursos avançados que deixam os barplots mais informativos e profissionais. Continuaremos usando o dataset tips para demonstrar essas técnicas.

Anotando barplots

Adicionar rótulos de valor às barras deixa suas visualizações mais precisas e informativas. Vamos criar um barplot que mostra os valores exatos das gorjetas acima de cada barra.

Primeiro, vamos importar as bibliotecas e preparar os dados:

# Importar bibliotecas necessárias
import seaborn as sns
import matplotlib.pyplot as plt

# Carregar e preparar o dataset tips
tips = sns.load_dataset("tips")

Criar nosso barplot com valores estatísticos:

# Criar o barplot básico
ax = sns.barplot(data=tips, x="day", y="tip”, errorbar=None)    # Criar o barplot e armazenar o objeto de eixos para anotações

Em seguida, vamos adicionar rótulos de valor no topo de cada barra, como abaixo:

# Obter a altura de cada barra
bars = ax.containers[0]                           # Obter o container das barras
heights = [bar.get_height() for bar in bars]      # Extrair a altura de cada barra

# Adicionar anotações de texto no topo de cada barra
for bar, height in zip(bars, heights):            # Percorrer barras e alturas juntas
    ax.text(
        bar.get_x() + bar.get_width()/2.,        # Posição X (centro da barra)
        height,                                   # Posição Y (topo da barra)
        f'${height:.2f}',                        # Texto (formato de moeda)
        ha='center',                             # Alinhamento horizontal
        va='bottom'                              # Alinhamento vertical
    )

Resultado:

Ajustando eixos e escalas

Ao criar barplots, ajustar os eixos ajuda a deixar os dados mais legíveis e impactantes. Vamos ver como personalizar limites, rótulos e marcações usando funções do Seaborn.

Primeiro, vamos importar a biblioteca e carregar o dataset necessário para a visualização:

# Importar bibliotecas necessárias
import seaborn as sns

# Carregar e preparar o dataset tips
tips = sns.load_dataset("tips")

Podemos criar um barplot com rótulos personalizados e ordem dos dias. O parâmetro order permite definir exatamente como queremos os dias organizados no eixo x:

# Criar barplot com rótulos de eixo
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    order=['Thur', 'Sat', ‘Fri', 'Sun']     # Definir ordem personalizada dos dias
)

Para deixar o gráfico mais informativo, podemos adicionar rótulos descritivos para ambos os eixos usando o método set:

# Definir rótulos descritivos dos eixos
ax.set(
    xlabel='Day of Week',
    ylabel='Average Tip ($)'
)

Para ajustar melhor a visualização, podemos definir limites e marcações específicas. O parâmetro ylim controla o intervalo do eixo y, enquanto xticks e yticks permitem definir exatamente onde queremos as marcações:

# Personalizar limites e marcações dos eixos
ax.set(
    ylim=(0, 5),                            # Intervalo do eixo y de 0 a 5
    xticks=range(4),                        # Posições das marcações no eixo x
    yticks=[0, 1, 2, 3, 4, 5]              # Valores específicos no eixo y
)

Para incorporar todas essas mudanças no gráfico, precisamos executá-las de uma vez, não uma a uma. O código completo está abaixo:

# Importar bibliotecas necessárias
import seaborn as sns

# Carregar e preparar o dataset tips
tips = sns.load_dataset("tips")

# Criar barplot com rótulos de eixo
ax = sns.barplot(
   data=tips,
   x="day",
   y="tip",
   order=['Thur', 'Sat', 'Fri', 'Sun']     # Definir ordem personalizada dos dias
)

# Definir rótulos descritivos dos eixos
ax.set(
   xlabel='Day of Week',
   ylabel='Average Tip ($)'
)

# Personalizar limites e marcações dos eixos
ax.set(
   ylim=(0, 5),                            # Intervalo do eixo y de 0 a 5
   xticks=range(4),                        # Posições das marcações no eixo x
   yticks=[0, 1, 2, 3, 4, 5]              # Valores específicos no eixo y
)

Resultado:

O gráfico resultante mostra gorjetas por dia com rótulos claros, escalas adequadas e marcações bem organizadas, facilitando a leitura e a interpretação.

Incluindo barras de erro

Barras de erro ajudam a visualizar a incerteza ou variabilidade dos dados. O Seaborn oferece várias opções para adicioná-las aos barplots, incluindo intervalos de confiança e desvio padrão.

Primeiro, vamos importar a biblioteca e carregar o dataset necessário para a visualização:

# Importar bibliotecas necessárias
import seaborn as sns

# Carregar e preparar o dataset tips
tips = sns.load_dataset("tips")

Por padrão, o Seaborn mostra intervalos de confiança de 95%. Podemos modificar isso usando o parâmetro 'errorbar' para exibir diferentes estimativas estatísticas:

# Criar barplot com intervalos de confiança
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="ci",                          # Mostrar intervalo de confiança
    capsize=0.1                            # Adicionar pequenas abas às barras de erro
)

Resultado:

Também podemos exibir desvio padrão em vez de intervalos de confiança, o que ajuda a visualizar a dispersão dos dados:

# Alternar para desvio padrão
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar="sd",                          # Mostrar desvio padrão
    capsize=0.1                            # Adicionar pequenas abas às barras de erro
)

Resultado:

Às vezes, podemos querer remover completamente as barras de erro para um visual mais limpo:

# Criar barplot sem barras de erro
ax = sns.barplot(
    data=tips,
    x="day",
    y="tip",
    errorbar=None                           # Remover barras de erro
)

Resultado:

Os gráficos resultantes mostram como diferentes tipos de barras de erro ajudam a entender a variabilidade das gorjetas ao longo dos dias da semana.

Aplicações práticas dos barplots do Seaborn

Barplots são ferramentas versáteis na visualização de dados, especialmente úteis quando você precisa comparar valores entre categorias ou analisar múltiplas variáveis simultaneamente. Vamos ver duas aplicações comuns em que os barplots do Seaborn se destacam.

Visualizando tendências em dados categóricos

Barplots do Seaborn são ótimos para revelar padrões em dados categóricos, especialmente ao analisar métricas entre diferentes grupos. Ao mostrar tendência central e incerteza, ajudam a identificar diferenças significativas entre categorias. 

Isso os torna ideais para analisar comportamento de clientes, desempenho de produtos ou respostas de pesquisas quando você precisa comparar valores entre grupos distintos.

Comparando múltiplas variáveis

Quando a análise envolve vários fatores, os barplots do Seaborn podem evidenciar relações complexas nos dados. Usar recursos como agrupamento (hue) ou empilhamento ajuda a comparar diferentes variáveis ao mesmo tempo, facilitando identificar padrões e interações entre aspectos do conjunto de dados.

Conclusão 

Os barplots do Seaborn equilibram simplicidade e profundidade estatística. A sintaxe intuitiva aliada a recursos estatísticos robustos faz da biblioteca uma ferramenta essencial para visualização de dados. De comparações básicas entre categorias a visualizações agrupadas avançadas, os barplots ajudam a revelar e comunicar padrões de forma eficaz.

Pronto para levar suas habilidades de visualização para o próximo nível? Explore a seguir:

Quer levar suas habilidades em Seaborn ainda mais longe? Inscreva-se no Intermediate Data Visualization with Seaborn.

Seaborn Barplot FAQs

Para que serve um Seaborn barplot?

O Seaborn barplot visualiza a relação entre uma variável categórica e uma variável numérica ao exibir estimativas estatísticas com barras de erro.

Posso mudar a cor dos barplots do Seaborn?

Sim, você pode personalizar as cores usando o parâmetro color para uma única cor ou palette para esquemas com múltiplas cores.

Posso criar barplots agrupados no Seaborn?

Sim. Use o parâmetro hue para criar barras agrupadas com base em uma variável categórica.

Como adiciono barras de erro ao meu Seaborn barplot?

Use o parâmetro errorbar, por exemplo, errorbar='ci' para intervalos de confiança ou errorbar='sd' para desvio padrão.

O Seaborn pode criar gráficos de barras horizontais?

Sim. Defina orient='h' na função do barplot para criar barras horizontais em vez de verticais.


Author
Rajesh Kumar
LinkedIn

Sou redator de conteúdo de ciência de dados. Adoro criar conteúdo sobre tópicos de IA/ML/DS. Também exploro novas ferramentas de IA e escrevo sobre elas.

Tópicos
Python
Visualização de dados

Principais cursos da DataCamp

Curso

Introdução à Visualização de Dados com o Seaborn

4 h
183.6K
Aprenda a criar visualizações informativas e atraentes em Python usando a biblioteca Seaborn.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

Tutorial do Python Seaborn Line Plot: Criar visualizações de dados

Descubra como usar o Seaborn, uma biblioteca popular de visualização de dados em Python, para criar e personalizar gráficos de linha em Python.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

Introdução à plotagem com Matplotlib em Python

Este tutorial demonstra como usar o Matplotlib, uma poderosa biblioteca de visualização de dados em Python, para criar gráficos de linha, barra e dispersão com dados do mercado de ações.

Kevin Babitz

25 min

line plot python

Tutorial

Gráficos de linhas no MatplotLib com Python

Este tutorial prático se aprofunda na criação e na personalização de gráficos de linhas com o Matplotlib, uma biblioteca avançada de visualização de dados em Python.
Arunn Thevapalan's photo

Arunn Thevapalan

11 min

Tutorial

Gráfico de linha de série temporal do Matplotlib

Este tutorial explora como criar e personalizar gráficos de linha de séries temporais no matplotlib.
Elena Kosourova's photo

Elena Kosourova

8 min

Tutorial

Histogramas no Matplotlib

Aprenda sobre histogramas e como você pode usá-los para obter insights dos dados com a ajuda do matplotlib.
Aditya Sharma's photo

Aditya Sharma

8 min

Tutorial

Tipos de gráficos de dados e como criá-los em Python

Explore vários tipos de gráficos de dados, desde os mais comuns até os avançados e não convencionais, o que eles mostram, quando usá-los, quando evitá-los e como criá-los e personalizá-los em Python.
Elena Kosourova's photo

Elena Kosourova

15 min

Ver MaisVer Mais