r - 由特定变量进行分面包裹 + ggplot2 + r

标签 r ggplot2 bar-chart facet stacked-chart

这是一个棘手的问题,或者至少对我来说是这样......

我有一个数据集,需要通过特定变量进行分面包装。我想将 2 个变量分组,在此示例中 Data1 + Data2,在分面包裹的一侧使用前和后的堆叠条形图...而在另一侧则使用堆叠条形图数据3 + 数据4

在我的示例中,我将它们全部堆叠在一起,并将填充设置为前和后,但我找不到将它们分成如上所述的进一步组的方法。

library(ggplot2)
library(reshape2)

df_dtype <- data.frame( Data_Type = c("Data1","Data2","Data3","Data4"),
                       Pre = c(150, 200, 325, 120),
                       Post = c(70,120,200,100) )

mdtype <- melt(df_date)
  
p <- ggplot(mdtype, aes(x=variable, y=value, fill=Data_Type)) + 
  geom_bar(position="stack", stat="identity") + 
  ylab("Frequency") + xlab("") + ggtitle("Report Type") +
  theme(axis.ticks.x = element_blank(),axis.text.x = element_text(angle = 45, vjust = 1, hjust=1)) 
p

很抱歉,如果不清楚,请随时在评论中询问更多信息。

最佳答案

mdtype$group = ifelse(mdtype$Data_Type %in% c("Data1", "Data2"),
                      "Group1", "Group2")

...
facet_wrap(~group) +
...

enter image description here

关于r - 由特定变量进行分面包裹 + ggplot2 + r,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73829910/

相关文章:

r - 如果任何剩余值为 0,则将值设置为 0

r - 使用 R 中的条件对象将 `immediate.` 设置为 `TRUE`?

r - 在 R 中的另一个函数中使用 ggplot()

r - X 轴和堆叠条中的右框

d3.js - d3+交叉过滤器 : Date-axis renders pixelthin bars

javascript - D3 水平条形图 X 轴范围比 AngularJs 数据中的范围短

c++ - R 矩阵到 Armadillo 的转换真的很慢

r - data.table包中点函数 `.()`的实现

r - ggplot : no color in plot

r - 在 R 中创建分组条形图