我想用几个组创建一个瀑布图,其中所有组都从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来做到这一点,但是我不希望组之间(例如,构面)之间存在分隔。
答案 0 :(得分:1)
set hive.execution.engine=tez
set hive.vectorized.execution.enabled = true
set hive.vectorized.execution.reduce.enabled = true
使用一个geom_rect
参数。
如果我正确理解您的问题,我相信position
会满足您的要求。
更多信息:https://ggplot2.tidyverse.org/reference/position_dodge.html