2014-04-29 4 views
1

mtcars 데이터 세트로 작업한다고 가정합니다. 무게 (wt)에 따라 포인트의 크기를 설정하고 싶습니다. 아래에 나와있는 것처럼 그렇게하면 R/ggplot2가 네 개의 범주 (2,3,4,5)로 된 범례를 나에게 줄 것입니다.ggplot 2 - 숫자 값 (요인 없음)으로 범례 범주 변경

library(ggplot2) 
mtc <- mtcars 
p1 <- ggplot(mtc, aes(x = hp, y = mpg)) 
p1 <- p1 + geom_point(aes(size = wt))  
print(p1) 

범례의 크기/이름/범주는 어떻게 변경합니까? "카테고리"가 요인이 될 경우 어떻게해야하는지에 대한 정보를 찾았지만 숫자 값으로이를 수행하는 방법을 알지 못합니다. 나는 숫자로 유지해야한다. 그렇지 않으면 더 이상 점의 크기로 작동하지 않는다.

실제 데이터 세트에는 wt (약 1에서 150까지)에 대해 약 100 개의 값이 있으며 5 개의 값을 유지하려고합니다. (ggplot 2는 저에게 2 -> 50 및 100을 제공합니다)

1) 어떻게 범례의 배율을 변경할 수 있습니까? 단지 전설 1,2,3 이름을 변경 한 후

mtc$wtCat[which(mtc$wt<=2)]=1 
mtc$wtCat[which(mtc$wt>2 & mtc$wt<=3)]=2 
mtc$wtCat[which(mtc$wt>3)]=3 

p1 <- ggplot(mtc, aes(x = hp, y = mpg)) 
p2 <- p1 + geom_point(aes(size = wtCat), stat="identity")  
print(p2) 

과 : 예를 들어 MTC 예에서 난 그냥 같은 범주를 만드는 방법에 대한 생각이 크기 2 점, 5

2) 원하는 < = 2, 2-3 및> 3으로 바꾸었지만 그렇게하는 방법을 찾지 못했습니다.

정말 고마워요.

답변

3

scale_size_continuous()을 사용할 수 있으며 인수로 breaks=을 범례에 표시하고 인수로 labels=을 사용하면 범례 항목에 레이블이 지정되는 방법을 변경할 수 있습니다.

ggplot(mtcars,aes(hp,mpg,size=wt))+geom_point()+ 
    scale_size_continuous(breaks=c(2,5),labels=c("<=2",">2")) 
+0

그게 정확히 내가 원하는 것입니다. – Roccer

관련 문제