分层面对ggplot

时间:2017-09-29 20:15:32

标签: r ggplot2 facet-grid

我想要使用facet_grid&#39; s species <- c("spcies1","species2") conditions <- c("cond1","cond2","cond3") batches <- 1:6 df <- expand.grid(species=species,condition=conditions,batch=batches) 绘制实验数据。

实验从6个品种中分别收集两个物种,三个条件的测量结果:

set.seed(1)
df$y <- runif(nrow(df),0,1)

测量值是0到1之间的分数:

df$replicate <- 1

在这种情况下,每个物种,条件和批次只有一个重复:

df$col.fill <- paste(df$species,df$condition,df$batch,sep=".")

但这很灵活。

我想根据物种,条件和批次对每个测量进行着色(在这个具体的例子中,因为每个观察都有一个独特的颜色,每个观察都有自己独特的颜色):

df$col.fill <- factor(df$col.fill,levels=unique(df$col.fill))
df$species <- factor(df$species,levels=species)
df$condition <- factor(df$condition,levels=conditions)

将变量分解:

integerBreaks <- function(n = 5, ...)
{
  library(scales)
  breaker <- pretty_breaks(n, ...)
  function(x){
    breaks <- breaker(x)
    breaks[breaks == floor(breaks)]
  }
}


ggplot(df,aes(x=replicate,y=y,color=col.fill))+
geom_point(size=3)+facet_grid(~species+condition+batch,scales="free_x")+
scale_x_continuous(breaks=integerBreaks())+
theme_minimal()+theme(legend.position="none",axis.title=element_text(size=8))

我想绘制数据,以便他们按物种,条件和批次进行重新划分,并相应地标注方面。

这是我尝试的内容: 库(GGPLOT2)

sudo su
vim /etc/php/7.1/fpm/php.ini 

给了我: enter image description here

这样做是为了重复每批次的种类和条件,因此标签过于拥挤并被削减。有没有办法让物种刻面标签每个物种只出现一次,条件刻面标签每个条件只出现一次(即遵循它们的层次结构)?

这意味着我将只有两个物种小平面标签和六个条件小平面标签(每个物种重复)。

0 个答案:

没有答案