을 감안할 때 데이터를 강조 :플롯 (ggplot2)에 걸쳐 일정한 지터와 몇 가지 포인트 같은
dr <- data.frame(
X = sample(c("yes","no"),10, replace=T),
Y = rnorm(1000),
highlight = sample(c(1,NA),1000,replace=T,prob=c(5,995))
)
내가 두 개의 플롯을 만들려고합니다. 첫째, geom_jitter()
를 사용하여 간단한 하나 overploting을 피하기 위해 :
myseed=101
set.seed(myseed)
p <- ggplot(dr, aes(x=X,y=Y,colour=Y,na.rm=T)) +
theme_bw() +
geom_jitter(alpha=0.7,width=0.5,na.rm=T) +
scale_colour_gradient("Y", low="#5edcff", high="#035280") +
stat_summary(fun.y = "mean", fun.ymin = "mean", fun.ymax= "mean", size=0.3,width=0.33, geom = "crossbar")
plot(p)
그런 다음 두 번째 음모에 내가 5 개 특정 데이터 점을 강조하고 싶습니다. 나는
set.seed
을 사용하여 ggplot을 동일한 방식으로 지터로 만든 다음 다른 레이어를 강조 표시 할 점만 추가합니다. 그렇지 않습니다. 빨간색 점이 새로 지터 처리되어 다른 위치에 표시됩니다.
set.seed(myseed) pm <- p + geom_jitter(colour="red",data=filter(dr, highlight == 1),width=0.5,size=2) plot(pm)
내가 원하는 것은 :는 (데이터 프레임에서 확인) 5 점은 빨간색으로 강조되는 유일한 차이, 플롯이 정확히 플롯 1처럼 가지고.
어쩌면 문제가 강조 표시된 점을 별도의 플롯에 추가하고 있다고 생각했습니다. "강조 표시"요소를 처음부터 매핑하려고하면 어떻게됩니까?
set.seed(myseed)
p <- ggplot(dr, aes(x=X,y=Y,colour=Y,fill=highlight)) +
theme_bw() +
geom_jitter(alpha=0.7,width=0.5) +
stat_summary(fun.y = "mean", fun.ymin = "mean", fun.ymax= "mean", size=0.3,width=0.33, geom = "crossbar")
plot(p)
중 하나가 작동하지 않는 것
. 나는 사소한 것을 간과하거나, 잘못된 발로 시작하는 것이지만 작동하도록 할 수는 없습니다.
P. this, this 및 this과 같은 이전 질문을 살펴 보았지만 아무도 내 질문에 직접 대답하지 않습니다.
모양 21-25에 대해서는 그 점을 잊어 버렸습니다. ggplot2는 독특한 특징 (ping @hadley)이 충분하지 않은 모양으로 인해 미적인 요소를 매핑 할 수 없다는 간단한 경고가 있었으면 좋겠다. – strangeloop