簡體   English   中英

R-堆積面積圖

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM