segunda-feira, 27 de abril de 2020

Boxplot com Matplotlib

Boxplot com Matplotlib


Boxplot ou diagrama de caixa é uma ferramenta utilizada para identificar o maior e menor valor, mediana e quartis de um conjunto de dados. Em estatística descritiva, o diagrama de caixa, é uma ferramenta gráfica para representar a variação de dados observados de uma variável numérica por meio de quartis.

Como fazer um diagrama de caixa com matplotlib

A função utilizada para fazer um diagrama de caixa, com matplotlib, é a boxplot. Essa função recebe uma lista, da qual, se deseja saber o valor mínimo, máximo, mediana e quartis.
Nesse exemplo vamos usar uma lista ordenada, apenas para facilitar o entendimento. Listas desordenadas também podem ser usadas (a função boxplot ordena os elementos da lista).
Exemplo
import matplotlib.pyplot as plt

data = [52, 59, 67, 73, 73, 74, 77, 84, 85, 92, 96]

plt.boxplot(data)
plt.show()
Com a execução desse código, o gráfico apresentado deve ser igual a esse:

Como a função boxplot funciona

A função boxplot monstra um gráfico onde é possível ver os valores mínimos e máximos, mediana e quartis.
Para perceber isso note as duas linhas que saem da caixa. A linha que vai para cima, essa representa o valor máximo (96). A linha que vai para baixo, representa o valor mínimo (52). E a linha laranja, representa a mediana (A mediana é o número que fica no meio dos elementos: 74).
Os quartis são os números que ficam no meio dos meios. Por exemplo, peque a lista acima e divida ao meio em duas partes (Esqueça a mediana). A primeira parte vai ficar com os elementos 52, 59, 67, 73, 73. Com esse resultado já podemos descobrir qual é o primeiro quartis: 67. Do mesmo modo descobrimos que o terceiro quartis (a mediana é o segundo ;D) é 85.
As partes debaixo e de cima da caixa representam os quartis inferior e o superior, respectivamente.
Se você observou bem o gráfico percebeu que a parte superior da caixa fica exatamente no valor 85 (quartis superior). E que a parte de baixo ficou no número 70 e não no 67. Isso acontece porque o número subsequente desse quartis é muito discrepante. Quando isso acontece a função plotbox faz uma média entre o quartis inferior (67) e o número subsequente (73). Por isso a parte de baixo da caixa esta no 70. Por que a média entre 67 e 73 é 70. Para mudar isso tente trocar o número 73 por um mais próximo do 67.

Tem mais...

Se você precisar criar um gráfico com mais diagramas de caixa é só passar uma lista contendo listas para a função boxplot.
Exemplo
import matplotlib.pyplot as plt

data = [[52, 59, 67, 73, 73, 74, 77, 84, 85, 92, 96],
        [64, 65, 67, 69, 73, 74, 77, 84, 85, 92, 96],
        [56, 45, 87, 23, 49, 76, 23, 12, 185, 98, 1]]

plt.boxplot(data)
plt.show()
O gráfico desse exemplo deve ficar assim:

O circulo em cima do terceiro boxplot é usado para representar um valor muito fora da curva.

0 comentários:

Postar um comentário