ggplot - 以2x4方式使用geom_area

时间:2016-05-03 11:06:29

标签: r ggplot2

我有这样的矩阵(约1000个样本行)

bodytype    bmi gender  Clostridia  Bacteroidia Bacilli Gammaproteobacteria Betaproteobacteria  Actinobacteria  unclassified    Fusobacteria    Epsilonproteobacteria   Flavobacteria
overweight  21.64   boy 13256   5872    4319    1778    1680    1452    1249    690 184 13
normal  17  girl    32769   33370   7886    14798   10643   1927    9329    2564    1486    274
normal  19.55   girl    5855    2600    1423    742 1859    1158    644 271 91  63
overweight  20.85   girl    9507    6070    4701    1787    3319    472 406 897 210 33
normal  19.88   girl    443 91  66  5   17  140 9   8   1   0
obese   25.35   girl    14525   4279    9479    4933    1026    744 36  738 77  80
overweight  21.03   girl    12493   6251    9135    3937    2658    3901    1324    2119    170 249
normal  17.14   girl    1092    152 2137    390 46  1710    23  19  5   0
overweight  21.03   girl    11  4   4   4   5   1   2   1   1   0
overweight  22.27   boy 7588    1922    2665    969 1357    2490    550 437 166 9

我想用8张图片制作情节(2x4方式)。我的预期数字样本1即;第一排体重不足,正常,过度和肥胖男孩和下一排女孩。

enter image description here

我尝试使用下面的命令和facet_grid选项。

otu<-read.table(file="all_gg.txt", header=T,sep="\t")
dim(otu)
otu1<-otu[1:970,1:11]
head(otu1)
library(tidyr)
long<-gather(otu, "label", "abundance", Clostridia:unclassified)
ggplot(long,aes(bmi,abundance,color=label,fill=label))+ geom_area(aes(fill=label),position='fill')+facet_grid(.~body)+ facet_grid(gender~.)

我无法制作我想制作的数字。 inspired from this article

0 个答案:

没有答案