将两个堆积的条形图合并为一个图R(ggplot2)

时间:2016-03-15 21:39:46

标签: r plot ggplot2 bar-chart

我有一组基本上看起来像这样的数据(不是真实数据):

 Group        Color    RelFreq1    
Asparagopsis    1       30       
Asparagopsis    2       30         
Asparagopsis    3       40       
Cyano           1      100        
Dichtomaria     1       20       
Dichtomaria     2       40        

Group        Tissue    RelFreq2
Asparagopsis    5        20
Asparagopsis    6        50
Asparagopsis    7        30
Cyano           0        100
Dichtomaria     5        60
Dicthomaria     8        40

有几组和两组变量。 (颜色范围从1-3,组织范围从0.5-8)。两组变量都计算了每个值的相对频率。我为每个单独制作了堆积条形图(这里是真实数据): 图1(颜色):

CbAg4_stacked <- ggplot(ColorbyAg4, aes(x=AlgaeGenus, y=RelFreqC, fill=Color))+geom_bar(stat="identity")
CbAg4_stacked <- CbAg4_stacked + ylab("Relative Frequency")

图2(组织):

TbAg_stacked <- ggplot(TissuebyAg, aes(x=AlgaeGenus, y=RelFreqT, fill=Tissue))+geom_bar(stat="identity")
TbAg_stacked <- TbAg_stacked + ylab("Relative Frequency")

Stacked bar graph for variable 1

Stacked bar graph for variable 2

(图表当然不完美,因为它们不是我想要的最终产品)

我想将它们合并到一个图中,每个组的两个堆叠条彼此相邻。 (例如:对于Asparagopsis,两个堆叠的条:一个用于颜色,一个用于组织)。我也会把它们做成不同的颜色,但我需要帮助的是将两组数据放到同一个图中。我可以将数据合并到一个数据帧中,但是如何进行图形处理?

我一直在使用ggplot2,但如果它提供了更好的解决方案,我愿意使用其他东西。 ggplot(dfm,aes(x = AlgaeGenus,y = ??我怎样才能指定RelFreq1和RelFreq2?我试过c(RelFreq1,RelFreq2)并且它不喜欢它。 我还需要为“填充=”赋予它多种颜色,包括颜色和组织。

有什么建议吗?这可能吗?两个y轴都是相同的比例(相对频率超过100),所以看起来应该有一种方法,但我无法弄明白。

0 个答案:

没有答案