Python para iniciantes: do zero ao primeiro projeto
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Os gráficos de violino são uma ferramenta poderosa para visualizar a distribuição de dados e comparar diferentes conjuntos de dados. Eles combinam aspectos de boxplots e histogramas, oferecendo uma visão mais rica da estrutura dos dados. Neste tutorial, vamos aprender a criar gráficos de violino em Python utilizando a biblioteca Seaborn, que é construída sobre o Matplotlib e oferece uma interface de alto nível para desenhar gráficos estatísticos atraentes.
Antes de mergulharmos na programação, vamos entender o que é um gráfico de violino. Imagine que você tem um conjunto de dados e quer entender como os valores estão distribuídos.
O gráfico de violino mostra essa distribuição de forma visual, onde a largura do “violino” indica a densidade de pontos nessa região, se assemelhando a um histograma. Somado a isso, um gráfico de violino inclui a mesma representação de dados de um boxplot, com uma linha indicando a mediana.

Para começar, você precisará ter o Python instalado em sua máquina, além das bibliotecas Numpy, Matplotlib e Seaborn. Se ainda não as tem, você pode instalá-las usando o pip, o gerenciador de pacotes do Python:
pip install numpy matplotlib seabornVamos começar importando as bibliotecas necessárias e carregando os dados que queremos visualizar. Para este exemplo, vamos criar um conjunto de dados fictícios de idade e profissão (vamos usar a biblioteca random do Python para gerar os valores):
import random
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Gerando os dados
n_valores = 1000
idades = [random.gauss(45, 10) for _ in range(n_valores)]
profissoes = random.choices(['Engenheiro', 'Médico', 'Artista'], k=n_valores)
# Criando o dataset
df = pd.DataFrame({
'Idade': idades,
'Profissão': profissoes,
})
print(df.head())A cara do nosso conjunto de dados está logo abaixo (os valores serão diferentes se você executar devido à aleatoriedade do módulo random):
# Idade Profissão
# 0 43.022382 Artista
# 1 22.646138 Engenheiro
# 2 48.335019 Artista
# 3 36.184013 Artista
# 4 37.912867 MédicoAgora que temos nossos dados, podemos criar o gráfico de violino:
# Configurando o estilo do Seaborn
sns.set(style="whitegrid")
# Criando o gráfico de violino
sns.violinplot(y='Idade', data=df)
# Adicionando título e nomes aos eixos
plt.title('Distribuição de Idade')
plt.xlabel('Densidade')
plt.ylabel('Idade')
# Exibindo o gráfico
plt.show()Este código gera a figura abaixo:

Como podemos ver, o gráfico deixa claro que a maior parte dos indivíduos dessa população possui entre 40 e 50 anos, enquanto poucos indivíduos possuem menos de 20 ou mais de 80 anos.
O Seaborn permite personalizar o gráfico de várias maneiras. Por exemplo, se quisermos comparar a distribuição de idade entre as profissões, podemos adicionar a dimensão correspondente no eixo X:
sns.violinplot(x='Profissão', y='Idade', data=df)
plt.show()
Além disso, podemos ajustar a suavidade ou rugosidade das “curvas” do violino usando o parâmetro bw.
sns.violinplot(x='Profissão', y='Idade', data=df, bw=0.1)
plt.show()
Se você quiser saber mais sobre outros parâmetros que ajudam a configurar os gráficos de violinos em Python, acesse a documentação da função seaborn.violinplot.
Parabéns! Agora você sabe como criar um gráfico de violino em Python. Como você pode imaginar, esta é uma habilidade valiosa para qualquer pessoa que trabalha com análise de dados, pois permite comunicar informações complexas de forma clara e visual. Lembre-se de que a prática leva à perfeição, então continue explorando seus dados e as opções de personalização que a biblioteca Seaborn oferece!
Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!
Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!
Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!
Estudo aprofundado do potencial de LLMs multimodais: soluções, mecanismos e geração de valor Os Modelos de Linguagem de Grande Porte (LLMs) multimodais representam uma…
Quando se trata de visualização de dados em Python, o Matplotlib é uma das bibliotecas mais populares e poderosas disponíveis. Para cientistas de dados,…
Ter um portfólio online é essencial para se destacar no mercado. Se você atua na área de dados, tecnologia ou negócios, apresentar seus projetos…
Comente e participe da conversa
Crie sua conta gratuita e compartilhe sua opinião nos comentários.
Entre para a Asimov