[英]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.