2011-12-21 4 views
12

많은 수의 치수에 따라 달라지는 큰 산점도를 플롯하려고합니다.ggplot2를 사용하여 점의 하위 집합 모양 수정

p <- ggplot(mtcars, aes(wt, mpg, shape=cyl, colour=gear, size=carb)) + 
     geom_point() 

Sample plot with multiple variables

mtcars 데이터 집합을 사용하여, 나는 단순히 다양한 모양, 색상 및 크기를 포함하고 있습니다 :

여기 내 시작 플롯이다. 이제는 이것을 덧붙이고 싶습니다. carb == 8로 모든 포인트 주변에서 구별되는 마크입니다. 예를 들어,이 점들 주위에 검은 색 큰 원을 추가하십시오.

p + geom_point() + geom_point(colour="black", shape=1, size=5) 

을하는

내가 원하는대로 원을 얻을 수 있음에 가까운,하지만 모든 점은 원을 얻을, 나는 대신을 제한 할 단지 점의 일부.

이 문제에 대한 제안 사항에 대해 크게 감사드립니다.

답변

21

처음에 변수를 ggplot 함수에 넣는 대신 추가하는 모든 레이어에 대해 변수를 개별적으로 매핑하십시오.

p <- ggplot(data = mtcars)+ 
geom_point(aes(wt, mpg, shape=as.factor(cyl), colour=gear, size=carb))+ 
geom_point(aes(wt[carb==8], mpg[carb==8]), colour="black", shape=1, size=7) 

img

+5

좋은. 개인적으로, 나는 geom_point (data = subset (mtcars, carb == 8), aes (...))'와 같은 원래 데이터의 원하는 부분 집합을 기하 구조에 전달하는 경향이 있으며, 아마도 지적할만한 가치가 있습니다. – joran

+0

굉장! 그것은 내가 찾고 있었던 것이고, 그것은 아주 간단합니다. 감사! – fozziethebeat

+1

하위 질문으로, 검은 동그라미가 carb = 8 주위에 있음을 나타 내기 위해 범례를 편집하려면 어떻게해야합니까? – fozziethebeat

관련 문제