Boxplot (Elementos do boxplot)

2 minute read


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.

gráfico tipo boxplot desenhado com matplotlib, 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.

gráfico tipo boxplot desenhado com matplotlib, 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.

gráfico tipo boxplot desenhado com matplotlib, 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.

gráfico tipo boxplot desenhado com matplotlib, 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.

gráfico tipo boxplot desenhado com matplotlib, 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.

gráfico tipo boxplot desenhado com matplotlib, com o ponto da média inserido


Observe que a média é inserida como um ponto, e não como uma reta como a mediana.


Qual é o parâmetro utilizado para alterar os whiskers, o box, a mediana, entre outros?

boxplot_props

prop

props

props_boxplot


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.


Anterior Próximo

Updated: