通过多个变量ggplot解析绘图线

时间:2015-01-18 05:43:58

标签: r variables ggplot2 facet-wrap line-plot

对于男性和女性受试者,我希望为两天(第0天,第1天)绘制两个级别的数据(高,低)。我在白天和水平方面都取得了成功。但是,我没有成功地结合和识别性别。我想在第0天和第1天一起展示男/女。以下是我一直试图创建的特定代码。 提前致谢

data <- function(ids,time_vec) {
obs.data <-  
data.frame(expand.grid(ids,time_vec),DOSE=0,Conc=rnorm(13,10,2),Day=0) 
names(obs.data) <- c("ID","TIME","DOSE","Conc","Day")
obs.data<-obs.data[order(obs.data$ID),]
return(obs.data)
}

test<-data(ids=1:4, time_vec= seq(0,120,10))
test$Gender<-ifelse(test$ID==1|test$ID ==3,"Male","Female")
test$Day<-ifelse(test$ID==1|test$ID==2,"Day 1","Day 2")
test$DoseLevel<-ifelse(test$ID==1|test$ID==2,"Low","High")

gf1<-ggplot(test,aes(x=TIME, y=(Conc), group=interaction(DoseLevel,Day, 
   Gender)))+
  geom_line(size=1.25)+
  facet_grid(DoseLevel~.,as.table=FALSE)
gf1

gf2<-gf1+  geom_point(aes(shape=factor(Day), fill=factor(Day), 
colour=factor(Day)),size=4,show_guide=TRUE)+
  scale_shape_manual(values=c(21, 21))+
  scale_fill_manual(values=c("black","white"))+
  scale_colour_manual(values=c("black","black"))
gf2

1 个答案:

答案 0 :(得分:0)

此链接可以帮助您: Plotting continuous and discrete series in ggplot with facet 请注意使用melt功能。