Как маркировать гистограммы с значениями данных или процентами в R

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

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

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

Ответ 1

Чтобы включить количество отсчетов, вы можете просто установить 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

Ответ 2

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

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