Ggplot geom_bar vs geom_histogram - программирование

Ggplot geom_bar vs geom_histogram

В чем разница (если есть) между geom_bar и geom_histogram в ggplot? Кажется, что они производят один и тот же сюжет и принимают те же параметры.

4b9b3361

Ответ 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', вы не получите эти переменные.