Ось X - это время, разбитое на временные интервалы. Во фрейме данных есть столбец интервал , который указывает время для каждой строки. Столбец представляет собой фактор, где каждый интервал представляет собой отдельный уровень фактора.
Построение гистограммы или линии с использованием geom_histogram и geom_freqpoly прекрасно работает, но я бы хотел, чтобы линия, подобная предоставляемой geom_freqpoly, была заполнена.
В настоящее время я использую geom_freqpoly следующим образом:
ggplot(quake.data, aes(interval, fill=tweet.type)) + geom_freqpoly(aes(group = tweet.type, colour = tweet.type)) + opts(axis.text.x=theme_text(angle=-60, hjust=0, size = 6))
Я бы предпочел иметь заполненную область, например, предоставленную geom_density
, но без сглаживания линии:
Было предложено geom_area
, есть ли способ использовать сгенерированную ggplot2 статистику, такую как ..count .., для значений y geom_area? Или агрегация количества должна произойти до использования ggplot2?
Как указано в ответе, geom_area (..., stat = "bin") является решением:
ggplot(quake.data, aes(interval)) + geom_area(aes(y = ..count.., fill = tweet.type, group = tweet.type), stat = "bin") + opts(axis.text.x=theme_text(angle=-60, hjust=0, size = 6))
производит: