这可能与以下问题有关:format-internal-lines-of-a-stacked-geom-bar-ggplot,但是由于我仍然是初学者,所以我仍然无法解决它。我有很多堆积图,这只是示例数据。我只想保留外部边框并清除堆叠栏中的内部边框。请帮我:

data.frame(var1=c(rep("A1",4), rep("A2",4), rep("A3", 4), rep("A4", 4), rep("A5", 4), rep("A6", 4)),
          var2=c(rep("A2",4), rep("A3", 4), rep("A4", 4), rep("A5", 4), rep("A6", 4), rep("A7", 4)),
          varb=c(rep(c("S", "T", "U", "N"), 6)), value=c(80, 0, 20, 0,
          20,30,30,20,0,60,40,0,100,0,0,0,0,60,0,40,0,60,0,40))->test

ggplot(test, aes(var2, var1, fill = varb))+
  geom_tile(aes(x=var1, y=value, width = 0.9, height=0.7), position = "stack",
  colour="green")+facet_grid(var2~., space="free",scales="free")+
  scale_fill_manual(values=c("#99d594", "#fc8d59", "#ffffbf", "grey60"))


r - 格式化geom_tile ggplot2中堆积的geom_bar的内部行-LMLPHP

最佳答案

基本上,您需要分别添加两个形状,一个不带颜色的geom_tile和另一个带透明填充的geom_col

而且我认为您的绘图中存在一些错误,例如:y轴应为value而不是var1

ggplot(test, aes(x = var2, fill = varb))+
    geom_tile(aes(y = value, width = 0.9, height=0.7), position = "stack") +
    geom_col(aes(y = max(value)),position = "identity",alpha = 0,color = "black") +
    facet_grid(var2~., space="free",scales="free") +
    scale_fill_manual(values=c("#99d594", "#fc8d59", "#ffffbf", "grey60"))


r - 格式化geom_tile ggplot2中堆积的geom_bar的内部行-LMLPHP

关于r - 格式化geom_tile ggplot2中堆积的geom_bar的内部行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58069755/

10-12 23:47