我的数据首先看起来像这样:
year company cars
2011 toyota 609
2011 honda 710
2011 ford 77
2011 nissan 45
2011 chevy 11
2012 toyota 152
2012 honda 657
2012 ford 128
2012 nissan 159
2012 chevy 322
2013 toyota 907
2013 honda 656
2013 ford 138
2013 nissan 270
2013 chevy 106
2014 toyota 336
2014 honda 957
2014 ford 204
2014 nissan 219
2014 chevy 282
我只想专注于丰田和本田,并将小公司归为"其他。"我使用代码data$company[data$company != "toyota" & data$company != "honda"] = "other"
并且能够修改数据集,现在只有公司是丰田,本田和其他公司,如下所示:
year company cars
2011 toyota 609
2011 honda 710
2011 other 77
2011 other 45
2011 other 11
2012 toyota 152
2012 honda 657
2012 other 128
2012 other 159
2012 other 322
2013 toyota 907
2013 honda 656
2013 other 138
2013 other 270
2013 other 106
2014 toyota 336
2014 honda 957
2014 other 204
2014 other 219
2014 other 282
根据这些数据,我想在ggplot中生成堆积区域图。我使用这段代码:
ggplot(data, aes(x=year,y=cars, fill=company)) + geom_area())
我喜欢"其他"的多个实例。在同一年分组和总和。即2014年的三个"其他"(204,219和282)将总和并绘制为705.但是,我的情节反而在图表中留下奇怪的空白,如下所示:
任何人都知道如何生成堆积区域图,以便类似术语分组和求和?
答案 0 :(得分:1)
您首先要汇总数据:
library(ggplot2)
df_agg <- aggregate(cars ~ year + company, data = df, sum)
ggplot(df_agg, aes(x = year, y = cars, fill = company)) +
geom_area()