[英]R - Stacked Area chart
对于给定的数据集,我如何以最大总流入源最靠近X(日期)轴,最少流入源最远的方式生成跨不同来源的流入与日期的堆积面积图。
Date Source Inflow
1/1/06 s1 271
1/1/06 s3 368
1/1/06 s2 425
1/2/06 s4 580
1/2/06 s2 233
1/2/06 s3 243
1/2/06 s1 428
1/3/06 s5 164
1/3/06 s2 461
1/3/06 s3 180
1/4/06 s1 258
1/4/06 s2 153
1/5/06 s6 443
ggplot(data, aes(x=Inflow, y=Date, fill=Source)) + geom_area(colour="black", size=.2, alpha=.4) + scale_fill_brewer(palette="Greens", breaks=rev(levels(data$Source)))
老实说,堆积面积图对您提供的数据没有多大意义,因为某些类别会在一天之内找到(因此,该区域无处可扩展,因此没有垂直线)。
堆积条形图可能是要走的路。
library("tidyverse")
records <- tribble(~Date, ~Source, ~Inflow,
"1/1/06", "s1", 271,
"1/1/06", "s3", 368,
"1/1/06", "s2", 425,
"1/2/06", "s4", 580,
"1/2/06", "s2", 233,
"1/2/06", "s3", 243,
"1/2/06", "s1", 428,
"1/3/06", "s5", 164,
"1/3/06", "s2", 461,
"1/3/06", "s3", 180,
"1/4/06", "s1", 258,
"1/4/06", "s2", 153,
"1/5/06", "s6", 443)
records %>%
mutate(Date = as.Date(lubridate::mdy(Date))) %>%
ggplot(mapping = aes(x=Date, y=Inflow, fill=Source)) +
geom_area(colour="black", size=.2, alpha=.4, position = position_stack()) +
scale_fill_brewer(palette="Greens")
records %>%
mutate(Date = as.Date(lubridate::mdy(Date))) %>%
ggplot(mapping = aes(x=Date, y=Inflow, fill=Source)) +
geom_col(colour="black", size=.2, alpha=.4, position = position_stack()) +
scale_fill_brewer(palette="Greens")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.