Показывать среднее вместо медианного в боксплоте [закрыто]


15

При построении коробочного графика с помощью python matplotblib линии на половине графика являются медианой распределения.

Есть ли возможность вместо этого иметь линию в среднем. Или построить его рядом с ним в другом стиле.

Кроме того, поскольку для строки характерно быть медианой, действительно ли это смутит моих читателей, если я сделаю ее средней (конечно, я добавлю примечание, что такое средняя линия)?

Ответы:


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
См. Stackoverflow.com/questions/2492947/… для решений, использующих R
Джеймс

1
@James: Я не пытаюсь быть придурком и выделять тебя, но твой комментарий вызывает у меня вопрос. Почему, когда кто-то на этом форуме явно спрашивает, как сделать что-то, используя язык не-R (поскольку R является де-факто по умолчанию), кто-то всегда должен предлагать использовать R? Я не нахожу обратного много. Программисты SAS обычно не комментируют «Как я могу сделать X в R?» вопросы с "Вот как это сделать в САС ...". Я знаю, что люди любят R (и я тоже), но ...
Джош Хеманн

20

Чтобы ответить на ваш второй вопрос: Да, я думаю, что будет непонятно ставить линию на среднее значение вместо медианы. Точные правила, регулирующие длину «усов» (если таковые имеются) и обработку выбросов, различаются, но все придерживаются того, чтобы Тьюки использовал коробку для отображения медианы, нижнего и верхнего квартилей. Для сильно искаженных распределений среднее значение может находиться за пределами рамки, что выглядит очень странно. Обычно используется то, что медиана соответствует межквартильному диапазону, а среднее - стандартному отклонению (или стандартной ошибке среднего, если вас интересует вывод, а не описание данных). Если вы хотите показать среднее значение визуально, я бы использовал другой символ для его отображения, чтобы избежать путаницы.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.