不同方面的瀑布图

时间:2018-12-14 10:38:56

标签: r ggplot2

我想用几个组创建一个瀑布图,其中所有组都从0开始。

这是我的代码:

gdp <- data.frame("Country"=rep(c("China", "USA"), each=2),
                  "Type"=rep(c("GDP2013", "GDP2014"), 2),
                  "Cnt"= c(16220, 3560, 34030, -10570))

gdp <- gdp %>%
  mutate(start=Cnt,
         start=lag(start),
         end=ifelse(Type=="GDP2013", Cnt, start+Cnt),
         start=ifelse(Type=="GDP2013", 0, start),
         amount=end-start,
         id=rep(1:2, each=2))


gdp %>%
  ggplot(aes(fill=Type)) +
  geom_rect(stat="identity", aes(x=Country, 
                xmin=id-0.25, 
                xmax=id+0.25, 
                ymin=start, 
                ymax=end))

这两种类型的条形图应按组彼此相邻排列,美国GDP2014应该从美国GDP2013的高度开始,但要低10570。

我知道我可以使用facet_wrap来做到这一点,但是我不希望组之间(例如,构面)之间存在分隔。

1 个答案:

答案 0 :(得分:1)

set hive.execution.engine=tez set hive.vectorized.execution.enabled = true set hive.vectorized.execution.reduce.enabled = true 使用一个geom_rect参数。

如果我正确理解您的问题,我相信position会满足您的要求。

enter image description here

更多信息:https://ggplot2.tidyverse.org/reference/position_dodge.html