Вот несколько возможных способов построения результатов. В этом примере я использую данные из вашего последнего вопроса SO.
Предполагается, что вы используете xtabs
, как описано:
result <- xtabs(Sales ~ Year + Genre, df)
Вы можете преобразовать в фрейм данных:
plot_data <- as.data.frame(result)
plot_data
Year Genre Freq
1 2005 Action 3
2 2006 Action 0
3 2007 Action 1
4 2005 RPG 0
5 2006 RPG 4
6 2007 RPG 2
7 2005 Shooter 3
8 2006 Shooter 0
9 2007 Shooter 3
Для графика площади вы можете задать Year
цифру c вместо коэффициента для использования по оси x:
plot_data$Year <- as.numeric(as.character(plot_data$Year))
Затем построить с помощью geom_area
:
library(ggplot2)
ggplot(plot_data, aes(x = Year, y = Freq, fill = Genre)) +
geom_area() +
scale_x_continuous(breaks = 2005:2007)
Участок
Данные
df <- structure(list(Name = 1:8, Year = c(2005L, 2005L, 2005L, 2006L,
2006L, 2007L, 2007L, 2007L), Genre = c("Action", "Action", "Shooter",
"RPG", "RPG", "Action", "Shooter", "RPG"), Sales = c(1L, 2L,
3L, 2L, 2L, 1L, 3L, 2L)), class = "data.frame", row.names = c(NA,
-8L))