Mostrar média em vez de mediana no boxplot [fechado]

15

Ao plotar um boxplot com python matplotblib, as linhas na metade do gráfico são a mediana da distribuição.

Existe a possibilidade de ter a linha na média. Ou para plotá-lo ao lado dele em um estilo diferente.

Além disso, como é comum a linha ser a mediana, isso realmente confundirá meus leitores se eu fizer a média (claro que acrescentarei uma nota sobre a linha do meio)?

Peter Smit
fonte

Respostas:

25

Esse código faz os boxplots e, em seguida, coloca um círculo marcando a média de cada caixa. Você pode usar um símbolo diferente especificando o argumento do marcador na chamada para 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)

texto alternativo

ars
fonte
3
Consulte stackoverflow.com/questions/2492947/… para obter soluções usando R
James
1
@ James: Eu não estou tentando ser um idiota e te destacar, mas seu comentário me faz uma pergunta. Por que sempre que alguém neste fórum pergunta explicitamente como fazer algo usando uma linguagem não-R (como R é o padrão de fato ), alguém sempre precisa sugerir o uso de R? Não acho muito o inverso. Os programadores SAS geralmente não comentam sobre "Como faço para X no R?" perguntas com "Aqui está como fazer isso no SAS ...". Eu sei que as pessoas gostam R (e eu também), mas ...
Josh Hemann
20

Para responder à sua segunda pergunta: Sim, acho que será confuso colocar a linha na média em vez da mediana. As regras precisas que controlam a duração dos bigodes (se houver) e o tratamento dos discrepantes variam, mas todos mantêm o uso da caixa por Tukey, exibindo a mediana e os quartis inferior e superior. Para distribuições altamente inclinadas, a média pode estar fora da caixa, o que pareceria muito estranho. O uso comum é que a mediana segue o intervalo interquartil, enquanto a média segue o desvio padrão (ou erro padrão da média se você estiver interessado em inferência e não na descrição dos dados). Se você quiser mostrar a média visualmente, eu usaria um símbolo diferente para exibi-lo para evitar confusão.

uma parada
fonte