상자 그림에서 중앙값 대신 평균 표시 [닫기]


15

파이썬 matplotblib로 boxplot을 플로팅 할 때, 플롯의 중간 선은 분포의 중앙값입니다.

대신 평균 라인을 가질 가능성이 있습니까? 또는 다른 스타일로 옆에 플로팅합니다.

또한 줄이 중앙값이되는 것이 일반적이기 때문에 평균을 만들면 독자를 혼란스럽게 할 것입니까 (물론 중간 줄이 무엇인지 메모를 추가 할 것입니다)?

답변:


25

이 코드는 상자 그림을 만든 다음 각 상자의 평균을 표시하는 원을 배치합니다. 에 대한 호출에서 마커 인수를 지정하여 다른 기호를 사용할 수 있습니다 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)

대체 텍스트


3
R
James를

1
@ 제임스 : 나는 바보가되고 당신을 독신하려고하지 않지만 귀하의 의견은 나에게 질문을 구걸합니다. 이 포럼의 누군가가 R이 아닌 언어를 사용하여 무언가를 수행하는 방법을 명시 적으로 요청할 때마다 (R이 사실상 기본값이므로) 누군가가 항상 R을 사용하도록 제안 해야하는 이유는 무엇입니까? 나는 대화를 많이 찾지 못한다. SAS 프로그래머는 일반적으로 "R에서 X를 어떻게합니까?"에 대해서는 언급하지 않습니다. "SAS에서 수행하는 방법은 다음과 같습니다." 나는 사람들이 R을 좋아
한다는

20

두 번째 질문에 대답하기 위해 : 네, 중간 값 대신 평균값으로 라인을 배치하는 것이 혼란 스러울 것입니다. '위스커 (whisker)'의 길이 (있는 경우)와 이상치의 처리를 제어하는 ​​정확한 규칙은 다양하지만, 모든 사람은 상자를 중간 및 아래쪽 및 위쪽 사 분위를 표시하는 데 사용합니다. 치우친 분포의 경우 평균이 상자 외부에 있을 수 있으며 이는 매우 이상하게 보입니다. 일반적인 사용법은 중간 값이 사 분위수 범위를 따르는 반면 평균은 표준 편차 (또는 데이터 설명이 아니라 추론에 관심이있는 경우 평균의 표준 오차)를 따릅니다. 평균을 시각적으로 표시하려면 혼란을 피하기 위해 다른 기호를 사용하여 표시하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.