Как пометить столбцы гистограммы значениями данных или процентами в R - PullRequest
20 голосов
/ 16 февраля 2012

Я бы хотел пометить каждый столбец гистограммы либо количеством счетчиков в этом столбце, либо процентом общего количества в этом столбце.Я уверен, что должен быть способ сделать это, но я не смог его найти.На этой странице есть несколько фотографий гистограмм SAS, которые в основном выполняют то, что я пытаюсь сделать (но на сайте, похоже, нет версий R): http://www.ats.ucla.edu/stat/sas/faq/histogram_anno.htm

Если возможно, этотакже было бы неплохо иметь возможность размещать надписи над или где-то внутри столбцов, как это необходимо.

Я пытаюсь сделать это с помощью средств построения графика R, но меня интересуют способы сделать это в ggplot2 и решетке.

Ответы [ 2 ]

35 голосов
/ 17 февраля 2012

Чтобы включить количество отсчетов, вы можете просто установить labels=TRUE.

Пример, приведенный ниже, немного адаптирован по сравнению со страницей справки hist():

hist(islands, col="gray", labels = TRUE, ylim=c(0, 45))

enter image description here

Получение процентов немного сложнее. Единственный известный мне способ сделать это - напрямую манипулировать объектом, возвращаемым вызовом hist(), как описано более подробно в моем ответе на этот похожий вопрос :

histPercent <- function(x, ...) {
   H <- hist(x, plot = FALSE)
   H$density <- with(H, 100 * density* diff(breaks)[1])
   labs <- paste(round(H$density), "%", sep="")
   plot(H, freq = FALSE, labels = labs, ylim=c(0, 1.08*max(H$density)),...)
}

histPercent(islands, col="gray")

enter image description here

5 голосов
/ 17 февраля 2012

Добавление чисел на верхушках столбцов в гистограммах или гистограммах искажает визуальную интерпретацию столбцов, даже размещение меток внутри столбцов рядом с верхом создает эффект нечеткого верха, который затрудняет правильную интерпретациюграф.Если число представляет интерес, то это создает плохо разложенную таблицу, почему бы просто не создать правильную таблицу.

Если вы действительно чувствуете необходимость добавлять числа, то лучше расположить их ниже столбцов иливдоль верхнего поля, чтобы они выстраивались лучше для более удобного сравнения и не мешали визуальной интерпретации графика.Метки могут быть добавлены к базовым графикам с использованием функций text или mtext, а местоположения x можно найти в возвращаемом значении функции hist.Высоты для построения графиков можно рассчитать с помощью функции grconvertY.

...