Boxplot vs Violin

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Este tutorial irá guiá-lo através do processo de criação de box plots (diagramas de caixa) e violin plots (diagramas de violino) usando a biblioteca Python Matplotlib. Box plots e violin plots são usados para visualizar a distribuição de dados.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar bibliotecas

Antes de criar os gráficos, precisamos importar as bibliotecas necessárias. Usaremos numpy para gerar dados aleatórios e matplotlib.pyplot para criar os gráficos.

import matplotlib.pyplot as plt
import numpy as np

Gerar dados

Geraremos alguns dados de teste aleatórios usando numpy.

np.random.seed(19680801)
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

Criar gráfico de violino

Criaremos um gráfico de violino usando o método violinplot(). Este método recebe múltiplos argumentos, como dados, showmeans, showmedians, etc.

fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))
axs[0].violinplot(all_data, showmeans=False, showmedians=True)
axs[0].set_title('Violin plot')

Criar gráfico de caixa (box plot)

Criaremos um gráfico de caixa (box plot) usando o método boxplot(). Este método recebe múltiplos argumentos, como dados, rótulos (labels), showmeans, notch, etc.

axs[1].boxplot(all_data)
axs[1].set_title('Box plot')

Adicionar linhas de grade e rótulos

Adicionaremos linhas de grade horizontais, definiremos rótulos para o eixo x (x-labels) e para o eixo y (y-labels) nos gráficos.

for ax in axs:
    ax.yaxis.grid(True)
    ax.set_xticks([y + 1 for y in range(len(all_data))], labels=['x1', 'x2', 'x3', 'x4'])
    ax.set_xlabel('Four separate samples')
    ax.set_ylabel('Observed values')

Exibir os gráficos

Finalmente, exibiremos os gráficos usando o método show().

plt.show()

Resumo

Neste tutorial, aprendemos como criar um gráfico de caixa (box plot) e um gráfico de violino (violin plot) usando a biblioteca Python Matplotlib. Também aprendemos como adicionar linhas de grade horizontais, definir rótulos para o eixo x (x-labels) e para o eixo y (y-labels) nos gráficos. Gráficos de caixa e gráficos de violino são úteis para visualizar a distribuição dos dados.