我是新的R用户。所以我有这个蛋白质组学数据,从10个患者在3个不同的时间点测量超过100个蛋白质水平。对于这些100多种蛋白质中的每一种,我使用ggplot2制作箱形图面(x =时间点,y =表达水平)。问题是,蛋白质名称(刻面的标题)非常长,因此它们与它们旁边的那些重叠。因为有这么多我无法真正使用" \ n"手动将它们分成两行。有一个聪明的方法吗?
另外,我想改变x轴上三个时间点的顺序。它最初按字母顺序显示,但我希望它具有更多的生物学意义。
非常感谢提前。
答案 0 :(得分:1)
这是你的想法吗?
set.seed(1)
# make up some data...
long.names <- c("Very Long Facet Label","Very, Very, Extremely Long Facet Label")
gg <- data.frame(x=rep(LETTERS[1:6],each=10),y=rnorm(120), z=rep(long.names,each=60))
library(ggplot2)
ggplot(gg) + geom_boxplot(aes(x,y))+facet_grid(.~z)
gg$x.ordered=factor(gg$x,levels=LETTERS[6:1])
gg$wrap <- sapply(strwrap(gg$z,20,simplify=F),paste,collapse="\n") # word wrap
ggplot(gg) + geom_boxplot(aes(x.ordered,y))+ facet_grid(.~wrap)