В чем разница (если есть) между geom_bar и geom_histogram в ggplot? Кажется, что они производят один и тот же сюжет и принимают те же параметры.
Ggplot geom_bar vs geom_histogram
Ответ 1
- Гистограммы обеспечивают визуальное представление категориальных данных. Примеры:
- Количество людей с красными, черными и каштановыми волосами.
- Посмотрите на файл справки
geom_bar
. Все примеры считаются примерами. - Википедия страница
- Гистограммы используются для расчета плотности interval (обычно числовых) данных. Примеры,
- Распределение возраста и высоты
-
geom_hist
файл справки. Примерами являются распределение рейтингов фильмов.
ggplot2
После немного более тщательного изучения, я думаю, что в ggplot2 нет разницы между geom_bar
и geom_histogram
. Из документов:
geom_histogram(mapping = NULL, data = NULL, stat = "bin",
position = "stack", ...)
geom_bar(mapping = NULL, data = NULL, stat = "bin",
position = "stack", ...)
Я понимаю, что в документах geom_histogram
указано:
geom_histogram - это псевдоним для geom_bar плюс stat_bin
но, честно говоря, я не совсем уверен, что это значит, поскольку мое понимание ggplot2 состоит в том, что как stat_bin, так и geom_bar являются слоями (с немного отличающимся акцентом).
Ответ 2
Поведение по умолчанию такое же как от geom_bar, так и от geom_histogram. Это связано с тем, что (и, как указано в @csgillespie), при вызове geom_histogarm (понятно) подразумевается stat_bin, а также преобразование статистики по умолчанию, применяемое к geom_bar (аргумент IMO). Вот почему вам нужно указать stat='identity'
, когда вы хотите, чтобы данные отображались как есть.
stat='bin'
или stat_bin()
- это статистическое преобразование, которое ggplot делает для вас. Он предоставляет вам как вывод переменных, окруженных двумя точками (..count..
и ..density..
. Если вы не укажете stat='bin'
, вы не получите эти переменные.