Ось 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-сгенерированную статистическую величину, такой как.. количество.., для y-значений geom_area? Или, агрегирование количества должно произойти до использования ggplot2?
Как указано в ответе, geom_area (..., статистика = "мусорное ведро") решение:
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))
производит:
Возможно, вы захотите:
geom_area(aes(y = ..count..), stat = "bin")
ggplot (quake.data, aes (interval, fill = tweet .type, group = 1)) + geom_de density ()
Но я не думаю, что это значимая графика.
Я не совсем понимаю, к чему вы стремитесь. Вы хотите линию или полосы. Вы должны проверить geom_bar для заполненных баров. Что-то вроде:
p <- ggplot(data, aes(x = time, y = count))
p + geom_bar(stat = "identity")
Если вы хотите, чтобы внизу была заполнена строка, вам следует посмотреть на geom_area , который я лично не использовал, но похоже, что конструкция будет почти такой же.
p <- ggplot(data, aes(x = time, y = count))
p + geom_area()
Надеюсь, что это поможет. Дайте дополнительную информацию, и мы, вероятно, сможем быть более полезными.
На самом деле я бы добавил индекс, просто строку данных и использовал бы это как x, а затем использовал бы
p <- ggplot(data, aes(x = index, y = count))
p + geom_bar(stat = "identity") + scale_x_continuous("Intervals",
breaks = index, labels = intervals)