Boxplot (Elementos do boxplot)
Cada boxplot é formado por uma série de elementos, como os whiskers, o box, a mediana, os outilers, etc. Cada um deles pode ser editado individualmente através do parâmetro props de cada elemento.
Caps
Para alterar as propriedades dos caps, basta passar um dict
para o parâmetro capprops
, indicando a propriedade que deseja alterar (key
) e o novo valor (value
).
Por exemplo, para alterar a cor dos caps, passamos a key
como color
e o value
com o nome da cor desejada. As cores disponíveis são as mesmas vistas anteriormente.
Por exemplo, para deixar o caps na cor magenta:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"],
capprops=dict(color='m'))
plt.show()
Figura 1 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - caps na cor magenta.
Para alterar o estilo do caps, passamos a key
linestyle
com o estilo de linha desejado como value
. Os estilos disponíveis são os mesmos vistos anteriormente.
Por exemplo:
Figura 2 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - caps tracejados.
Para alterar a espessura do caps, passamos um número (int
ou float
) para a key
linewidth
com a espessura da linha desejada (value
). Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"],
capprops=dict(color='m', linestyle='--', linewidth=3))
plt.show()
Figura 3 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - caps mais espessos.
Box
Para alterar as propriedades das caixas, basta passar um dict
para o parâmetro boxprops
, indicando a propriedade que deseja mudar (key
) e o novo valor (value
), de forma similar aos caps. Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"],
boxprops=dict(color='m', linestyle='--', linewidth=3))
plt.show()
Figura 4 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - caixa editada.
Contudo, para alterar a cor de preenchimento da caixa, também será necessário passar o parâmetro patch_artist=True
.
Atenção
Isto vai alterar outros parâmetros, pois as caixas serão desenhadas com outro padrão.
Por exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], patch_artist=True,
boxprops=dict(color='m', linestyle='--', linewidth=3, facecolor='b'))
plt.show()
Figura 5 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - caixa editada.
Outros
Para alterar os outros elementos, como os whiskers, outliers, linha da mediana, e a média, utilize os seguintes parâmetros de forma similar ao feito anteriormente:
-
whiskerprops
-
flierprops
-
medianprops
-
meanprops
Inserindo a média
Por padrão, o boxplot desenhado com o matplotlib apresenta a mediana como medida de tendência central, mas em alguns casos, é interessante adicionar a média aritmética. Para fazer isto, basta passar o parâmetro showmeans
como True
(o padrão é False
, e por isso a média não é apresentada por padrão).
Exemplo:
plt.figure(figsize=(8,6))
plt.boxplot([altura_11_anos, altura_12_anos], positions=[0,0.5], labels=["11 anos", "12 anos"], showmeans=True, )
plt.show()
Figura 6 - Gráfico de boxplot para a altura das crianças de 11 e 12 anos - média.
Observe que a média é inserida como um ponto, e não como uma reta como a mediana.
Desafio boxplot
Transforme o ponto desenhado para a média na Figura 6 em uma linha. Insira legendas para diferenciar a média da mediana.