15 votos

Mostrar la media en lugar de la mediana en el boxplot

Cuando se traza un boxplot con python matplotblib, las líneas de la mitad del gráfico es la mediana de la distribución.

¿Existe la posibilidad de tener la línea en la media? O trazarla junto a ella con un estilo diferente.

Además, como es habitual que la línea sea la mediana, ¿confundirá realmente a mis lectores si la hago la media (por supuesto, añadiré una nota sobre cuál es la línea media)?

26voto

Omar Kooheji Puntos 384

Este código hace los boxplots y luego coloca un círculo marcando la media de cada caja. Se puede utilizar un símbolo diferente especificando el marcador en la llamada a scatter .

import numpy as np
import pylab

# 3 boxes
data = [[np.random.rand(100)] for i in range(3)]
pylab.boxplot(data)

# mark the mean    
means = [np.mean(x) for x in data]
pylab.scatter([1, 2, 3], means)

alt text

20voto

Berek Bryan Puntos 349

Para responder a su segunda pregunta: Sí, creo que será confuso poner la línea en la media en lugar de la mediana. Las reglas precisas que controlan la longitud de los "bigotes" (si los hay) y el tratamiento de los valores atípicos varían, pero todo el mundo se atiene al uso de la caja de Tukey para mostrar la mediana y los cuartiles inferior y superior. Para las distribuciones muy asimétricas, la media podría ser en el exterior la caja, que se vería muy impar. El uso común es que la mediana va con el rango intercuartílico, mientras que la media va con la desviación estándar (o el error estándar de la media si estás interesado en la inferencia más que en la descripción de los datos). Si quieres mostrar la media visualmente, yo usaría un símbolo diferente para mostrarla y evitar confusiones.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X