#r #ggplot2 #histogram
#r #ggplot2 #гистограмма
Вопрос:
Мне интересно, как я могу добавить значение count к графику гистограммы, который строится с помощью qplot
?
qplot(cluster_name$km.out1.cluster, geom="histogram",binwidth = 0.5,
main = "Histogram for clusters Number", xlab = "cluster number", fill=I("blue"))
theme(plot.title = element_text(hjust = 0.5))
Я попытался добавить
stat_bin(aes(y=..count..,label=..count..), geom="text", vjust=-.5, binwidth = 0.5)
однако эта команда добавит кучу нулей по оси x, что не то, что я хочу. Я попытался удалить label
, но получил сообщение об ошибке. Пожалуйста, смотрите изображение результата ниже:
Ответ №1:
Чтобы предотвратить помечение нулевых значений, вы можете добавить ifelse
оператор к stat_bin
or geom_text
, который устанавливает метку в пустую строку для нулевых значений.
Используя mtcars
в качестве примера данных, попробуйте следующее:
library(ggplot2)
qplot(mtcars$mpg, geom="histogram",binwidth = 0.5,
main = "Histogram for clusters Number", xlab = "cluster number", fill=I("blue"))
theme(plot.title = element_text(hjust = 0.5))
stat_bin(aes(y=..count..,label = ifelse(..count.. > 0, ..count.., "")), geom="text", vjust=-.5, binwidth = 0.5)
Комментарии:
1. спасибо, Стефан, это сработало. Не могли бы вы также объяснить, что именно мы делаем, когда добавляем «y = ..count ..» или «..count.. > 0, ..count.., «». Я не знаком с «..» (две точки), которые вы использовали.
2. Ах. Извините. Поскольку вы использовали
..count..
в своем коде, я думал, вы знакомы с этим. Каждый уровень статистики, подобныйstat_bin
илиstat_count
, вычисляет переменные под капотом, например, количество в ячейке. Список вычисленных переменных можно найти в пакете справки stat или geom, например ?stat_bin. Чтобы получить доступ к этим вычисляемым переменным и использовать их как обычные переменные, мы используем обозначение..NAME_OF_COMPUTED_VARIABLE..
.