繁体   English   中英

在 ggplot2 中将堆叠条形图组合在一起

[英]Group Stacked Bar Plots together in ggplot2

我想组合加起来为 1(比例)的堆积条形图,列值表示比例的部分,估计是 A、B、C 的相应比例值加为 1,治疗是我想要维护的类别。 在每个处理中,应该有两个堆叠的条形图(如列中所示)。 我应该如何 go 在ggplot中这样做? 谢谢:我的数据如下:

Column  Estimate    Treatment
  A.1     0.7           1
  B.1     0.2           1
  C.1     0.1           1
  A.2     0.5           1
  B.2     0.4           1
  C.2     0.1           1
  A.1     0.9           2
  B.1     0.1           2
  C.1     0             2
  A.2     0.2           2
  B.2     0.2           2
  C.2     0.6           2

在此处输入图像描述

这样 A + B + C = 1,图例将显示 A,B,C。 Plot 最终应该与此类似,但不是一次处理一根柱,而是两根(例如 A.1 + B.1 + C.1 和 A.2.+ B.2 + Z0D61F8370D141D412F70B428)总共分为两个不同的组。 也许我可以分面包装这个?

谢谢!

library(dplyr)
library(ggplot2)
library(tidyr)

df %>%
  separate(Column, into = c("letter", "number")) %>%
  ggplot(aes(x = number, y = Estimate, fill = letter)) +
  geom_col(position = "stack") +
  facet_wrap(~Treatment)

在此处输入图像描述


使用此示例数据:

df = read.table(text = 'Column  Estimate    Treatment
  A.1     0.7           1
  B.1     0.2           1
  C.1     0.1           1
  A.2     0.5           1
  B.2     0.4           1
  C.2     0.1           1
  A.1     0.9           2
  B.1     0.1           2
  C.1     0             2
  A.2     0.2           2
  B.2     0.2           2
  C.2     0.6           2', header = TRUE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM