Конечно, почему нет?
Вот пример (один из десятков, которые я нашел с помощью простого поиска Google):
(Источник изображения - это блог по измерению юзабилити, здесь .)
Я видел, значит, означает плюс или минус стандартное отклонение, различные квантили (например, медиана, квартили, 10-й и 90-й процентили) все отображаются по-разному.
Вместо того, чтобы рисовать линию прямо на графике, вы можете пометить информацию вдоль ее нижней части - например, так:
Там пример (один из многих можно найти) с boxplot через вершину , а не на дне, здесь .
Иногда люди отмечают в данных:
(Я слегка встряхнул расположение данных, потому что значения были округлены до целых чисел, и вы не могли хорошо видеть относительную плотность.)
На этой странице есть пример такого рода, сделанный в Stata (см. Третий здесь )
Гистограммы лучше с небольшим количеством дополнительной информации - они могут вводить в заблуждение самостоятельно
Вам просто нужно позаботиться, чтобы объяснить, из чего состоит ваш сюжет! (Для начала вы бы хотели получить заголовок и метку оси X лучше, чем я использовал здесь. Плюс объяснение в подписи к рисунку, объясняющее, что вы на нем отметили.)
-
Последний сюжет:
-
Мои графики генерируются в R.
Редактировать:
Как и предполагал @gung, abline(v=mean...
он использовался для рисования средней линии на графике и rug
использовался для рисования значений данных (хотя на самом деле я использовал, rug(jitter(...
потому что данные были округлены до целых чисел).
Вот способ сделать блокпост между гистограммой и осью:
hist(Davis2[,2],n=30)
boxplot(Davis2[,2],
add=TRUE,horizontal=TRUE,at=-0.75,border="darkred",boxwex=1.5,outline=FALSE)
Я не собираюсь перечислять, для чего все это нужно, но вы можете проверить аргументы в справке ( ?boxplot
), чтобы выяснить, для чего они нужны, и поиграть с ними самостоятельно.
Однако это не общее решение - я не гарантирую, что оно всегда будет работать так же, как и здесь (обратите внимание, что я уже изменил параметры at
и boxwex
*). Если вы не пишете интеллектуальную функцию, чтобы позаботиться обо всем, необходимо обратить внимание на то, что все делает, чтобы убедиться, что он делает то, что вы хотите.
Вот как создать данные, которые я использовал (я пытался показать, как регрессия Тейла действительно могла справиться с несколькими влиятельными выбросами). Это просто были данные, с которыми я играл, когда впервые ответил на этот вопрос.
library("car")
add <- data.frame(sex=c("F","F"),
weight=c(150,130),height=c(NA,NA),repwt=c(55,50),repht=c(NA,NA))
Davis2 <- rbind(Davis,add)
* - соответствующее значение at
примерно в 0,5 раза больше boxwex
; это было бы хорошим значением по умолчанию, если вы напишите функцию для этого; boxwex
необходимо будет масштабировать таким образом, чтобы это соответствовало шкале y (высоте) коробчатого графика; Я бы посоветовал от 0,04 до 0,05 раз, верхний предел у часто может быть в порядке.
Код для маргинальной полосы:
hist(Davis2[,2],n=30)
stripchart(jitter(Davis2[,2],amount=.5),
method="jitter",jitter=.5,pch=16,cex=.05,add=TRUE,at=-.75,col='purple3')