如何从两个数据框创建堆叠和分组的条形图?

时间:2020-03-23 20:49:47

标签: r ggplot2

我有一个堆叠的条形图,看起来像this

如果我有第二个数据框,其布局与创建绘图的布局相同,并且我想按位置对两个数据集进行分组,同时仍保持堆积百分比,我将如何处理。我不确定如何在ggplot2中做到这一点

1 个答案:

答案 0 :(得分:0)

很难说没有看到数据,也没有更多关于您真正想要实现的目标的信息,但是我会使用的一般方法是说合并数据框-特别是在变量相同的情况下。您只想确保维护每个数据集的“位置”,这将是您的标识列。

因此,如果您的数据位于myData1myData2中:

# add identifying columns
myData1$id <- 'dataset1'
myData2$id <- 'dataset2'

# put them together
newData <- rbind(myData1, myData2)

您不清楚在组合图中要查找的内容,因此可以采用多种方法(取决于您要执行的操作)。也许最简单的示例是使用facet_grid()中的facet_wrap()ggplot2在并排图中显示它们:

ggplot(newData, aes(x=name, y=value)) +
    geom_col(aes(fill=gene)) +
    facet_wrap(~id)