首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >组合facet_grid和boxplot

组合facet_grid和boxplot
EN

Stack Overflow用户
提问于 2014-10-04 22:11:50
回答 1查看 10K关注 0票数 1

我想做一个小平面网格和盒子图相结合。方面应该是变量Experiment,箱线图应该显示每个variable.The变量相对于FC的值,并且实验具有多个级别。我需要使用gridExtra吗?我试过了,这显然是错的:

代码语言:javascript
复制
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) 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-04 22:40:50

如果要发布的数据太多,您可以模拟一些数据(并且,知道各种因素的水平也会很有帮助),但是您已经在正确的轨道上绘制了图,您只需要为variablevalue添加一个交互。我用facet_wrap做了以下事情,但您也可以很容易地使用facet_grid

代码语言:javascript
复制
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

您可以使用组合的variablevalue因子创建另一个列,而不是在ggplot调用中显式使用interaction,这样也可以更容易地更改/更好地控制x轴标签。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26193635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档