Box plot vs. comparação de plotagem de violino #

Observe que, embora os gráficos de violino estejam intimamente relacionados aos gráficos de caixa de Tukey (1977), eles adicionam informações úteis, como a distribuição dos dados da amostra (traço de densidade).

Por padrão, os gráficos de caixa mostram pontos de dados fora de 1,5 * da faixa interquartil como valores discrepantes acima ou abaixo dos bigodes, enquanto os gráficos de violino mostram toda a faixa dos dados.

Uma boa referência geral sobre boxplots e sua história pode ser encontrada aqui: http://vita.had.co.nz/papers/boxplots.pdf

Gráficos de violino requerem matplotlib >= 1.4.

Para obter mais informações sobre gráficos de violino, os documentos do scikit-learn têm uma ótima seção: https://scikit-learn.org/stable/modules/density.html

import matplotlib.pyplot as plt
import numpy as np

fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))

# Fixing random state for reproducibility
np.random.seed(19680801)


# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]

# plot violin plot
axs[0].violinplot(all_data,
                  showmeans=False,
                  showmedians=True)
axs[0].set_title('Violin plot')

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

# adding horizontal grid lines
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')

plt.show()
Trama de violino, Trama de caixa

Referências

O uso das seguintes funções, métodos, classes e módulos é mostrado neste exemplo:

Galeria gerada por Sphinx-Gallery