2016-08-07 3 views
0

나는 다음과 같은 것을 가지고있다 : dataset.ggplot2의 연속 축을 따라 상자 자국

그리고 ggplot2을 사용하여 플롯하려하지만, 연속 플롯에서 상자 그림을 플로팅하십시오.

그러나 나는 그렇게 할 방법을 찾지 못했습니다.

ggplot(t, aes(x=treatment, y=loss)) + 
    scale_fill_manual(values=cbPalette)+ 
    geom_boxplot(fill="white") + 
    geom_point(col="blue")+ 
    scale_x_discrete(labels=c("35.9°C\nmedian\nPBT","40.8°C\n95perc \nPBT","42.6°C\n median\nVMT"))+ 
    ylab("weight lost(g)")+ 
    xlab("")+ 
    theme(panel.background = element_rect(fill='transparent', colour='black'), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     axis.title.x = element_text(colour="black", size=14), 
     axis.text.x = element_text(angle=0, vjust=0.5,colour="black", size=14), 
     axis.title.y = element_text(colour="black", size=14), 
     axis.text.y = element_text(angle=0, vjust=0.5,colour="black", size=14) 
     )+ 
    theme(legend.position="none")+ 
    annotate("text", size=5, x = 0.5,y= 25, label = "A") 

답변

0

loss는 데이터 집합에서 누락되었습니다 : 이것은 내가 얻을 수있는 먼 나는 그것이 (데이터 세트에서 kg로 표현된다) 전후 무게의 차이입니다 가정. 나는 또한 "연속 척도"는 치료가 x 축상의 요인이 아닌 실수로 표현된다는 것을 의미한다고 생각합니다. 이 경우 group 문을 추가하면됩니다.

## add loss (in gr) 
t <- t %>% mutate(loss=-1e3*(post.weight-pre.weight)) 

p <- ggplot(t, aes(x=treatment, y=loss, group=treatment)) + 
    scale_fill_manual(values=cbPalette)+ 
    geom_boxplot(fill="white") + 
    geom_point(col="blue")+ 
    ylab("weight lost(g)")+ 
    xlab("")+ 
    theme(panel.background = element_rect(fill='transparent', colour='black'), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     axis.title.x = element_text(colour="black", size=14), 
     axis.text.x = element_text(angle=0, vjust=0.5,colour="black", size=14), 
     axis.title.y = element_text(colour="black", size=14), 
     axis.text.y = element_text(angle=0, vjust=0.5,colour="black", size=14) 
     )+ 
    theme(legend.position="none") 
관련 문제