我有一个我很满意的区域图。我试图在面积图的顶部覆盖一条粗实线。在ggplot的区域图中添加一条总和线
该图是按渠道显示的网站会话,其中每个渠道均为面积图中的组(填充)。我的想法是用一个非常沉重的阿尔法来显示总会话的实线图,显示这些会话的来源。
通过数据是这样的(因为ggplot功能依赖于数据结构)
> str(dataset)
'data.frame': 144 obs. of 5 variables:
$ Month : Factor w/ 24 levels "May-2015","Jun-2015",..: 1 2 3 4 5 6 7 8 9 10 ...
$ Channel : Factor w/ 6 levels "Facebook","Youtube",..: 1 1 1 1 1 1 1 1 1 1 ...
$ Sessions : num 5065 4226 4779 5736 6350 ...
> head(dataset, n = 20)
Month Channel Sessions
1 May-2015 Facebook 5065
2 Jun-2015 Facebook 4226
3 Jul-2015 Facebook 4779
4 Aug-2015 Facebook 5736
5 Sep-2015 Facebook 6350
6 Oct-2015 Facebook 6199
7 Nov-2015 Facebook 8474
8 Dec-2015 Facebook 8340
9 Jan-2016 Facebook 11376
10 Feb-2016 Facebook 11290
11 Mar-2016 Facebook 13255
12 Apr-2016 Facebook 16693
13 May-2016 Facebook 14618
14 Jun-2016 Facebook 14208
15 Jul-2016 Facebook 14016
16 Aug-2016 Facebook 14978
17 Sep-2016 Facebook 14559
18 Oct-2016 Facebook 10583
19 Nov-2016 Facebook 6930
20 Dec-2016 Facebook 8918
我的面积图:
timeline <- ggplot(dataset, aes(x = Month, y = Sessions,fill = Channel, group = Channel)) +
geom_area(alpha = 0.7) +
# This piece right here is where I tried to add a solid line
geom_line(data = dataset, inherit.aes = FALSE, aes(x = Month, y = Sessions, group = Month)) +
theme(axis.text.x=element_text(angle=90, hjust=1))
我成功了截至及包括geom_area(alpha = 0.7)
因为这产生了很好的面积图。
但接下来的行导致意外的行为:
geom_line(data = dataset, inherit.aes = FALSE, aes(x = Month, y = Sessions, group = Month))
我希望看到覆盖在上面络绎不绝,而是取得了一系列的破碎竖线。查看输出底部的黑线。我尝试添加/删除命令group = Month
但这并没有改变任何东西:
如何通过沿着堆积区域图最顶部的折线图添加实线以表示总会话?
换句话说当前图表的最顶部应该有一个坚实的粗线表示总交通量,因为下面的区域堆积 –
@Axeman感谢,我给一个尝试,但没有改变'时间表< - ggplot(数据集,aes(x = Month,y = Sessions,fill = Channel,group = Channel))+ geom_area(alpha = 0.3)+ + stat_summary(aes(group = 1),fun.y = sum,geom =' line')' –
D'oh!我有两个加号++,它可以工作。谢谢! –