use*_*035 1 r ggplot2 reshape2
我想制作一个结合箱形图的小平面网格.facet应该是变量Experimentboxplot应该为每个变量显示FC的值.变量和Experiment有多个级别.我需要使用gridExtra吗?我试过这个,这显然是错的:
df.m
FC Experiment variable value
1 -1.36811678 Ago2 Knockout Pos1 no
2 -0.59630399 Ago2 Knockout Pos1 yes
3 -0.09747337 Ago2 Knockout Pos1 no
4 1.71652821 Ago2 Knockout Pos1 yes
5 -1.13473546 Ago2 Knockout Pos1 no
6 -0.44012950 Ago2 Knockout Pos1 yes
ggplot(df.m,aes(value,FC,fill=as.factor(value))) +
geom_boxplot(notch=T) + facet_grid(~Experiment)
Run Code Online (Sandbox Code Playgroud)
你可以模拟一些数据,如果发布的数据太多(并且知道各种因素的水平也会有所帮助),但是你在正确的情节轨道上,你只需要为variable和添加一个交互value.我做了以下操作,facet_wrap但您可以轻松使用facet_grid:
library(ggplot2)
# create reproducible simulated data
set.seed(1492)
dat <- data.frame(FC=runif(100, min=-2, max=2),
Experiment=rep(c("Ago1", "Ago2", "Ago3", "Ago4"), 25),
variable=rep(c("Pos1", "Pos2", "Pos3", "Pos4", "Pos5"), 20),
value=sample(c("yes", "no"), 100, replace=TRUE),
stringsAsFactors=FALSE)
gg <- ggplot(dat, aes(x=interaction(variable, value), y=FC))
gg <- gg + geom_boxplot(aes(fill=value))
gg <- gg + facet_wrap(~Experiment)
gg <- gg + labs(x="")
gg <- gg + theme_bw()
gg <- gg + theme(strip.background=element_rect(fill="black"))
gg <- gg + theme(strip.text=element_text(color="white", face="bold"))
gg
Run Code Online (Sandbox Code Playgroud)
您可以使用组合variable和value因子创建另一个列,而不是interaction在ggplot调用中显式使用,这也可以更容易地更改/更多地控制x轴标记.

| 归档时间: |
|
| 查看次数: |
8302 次 |
| 最近记录: |