2013-06-04 4 views
3

모든 관측치의 히스토그램에 관측점 (서브 세트)을 보여주는 히스토그램을 생성하려고합니다. 그것을 의미있게 만들기 위해 각 포인트를 다르게 색칠하고 플롯에 범례를 배치해야합니다. 내 문제는 음모에 나타나는 척도를 얻지 못하는 것입니다. 아래는 내가 시도한 것의 예입니다.GGPLOT2 히스토그램에 포인트 추가

subset <-1:8 
results = data.frame(x_data = rnorm(5000),TestID=1:5000) 
m <- ggplot(results,aes(x=x_data)) 
m+stat_bin(aes(y=..density..))+ 
stat_density(colour="blue", fill=NA)+ 
    geom_point(data = results[results$TestID %in% subset,], 
     aes(x = x_data, y = 0), 
     colour = as.factor(results$TestID[results$TestID %in% subset]), 
     size = 5)+ 
scale_colour_brewer(type="seq", palette=3) 

적으로는, 내가이 점 밀도 라인에 위치하고 싶습니다 (하지만 난 그 일을하는 방법을 정말 확실 해요, 그래서 Y에서 그 위치를 정착 것 = 0). 가장 시급히 필요한 것은 부분 집합의 각 점에 해당하는 TestID를 나타내는 범례입니다.

도움을 주실 수있는 모든 분들께 감사드립니다.

답변

2

이것은 두 번째 요점을 다룹니다. 범례를 원하면 해당 변수를 미적으로 포함시키고 변수 (이 경우 색상)에 매핑해야합니다.

ggplot(results,aes(x=x_data)) + 
    stat_bin(aes(y=..density..))+ 
    stat_density(colour="blue", fill=NA)+ 
    geom_point(data = results[results$TestID %in% subset,], 
      aes(x = x_data, 
       y = 0, 
       colour = as.factor(results$TestID[results$TestID %in% subset]) 
       ), 
      size = 5) + 
    scale_colour_brewer("Fancy title", type="seq", palette=3) 
+0

덕분에 많은 : 그래서 당신이 정말로 할 필요는과 같이 aes()에 전화 내부 colour = as.factor(results$TestID[results$TestID %in% subset]) 이동합니다. 그건 내 주요 문제를 해결하는 것 같다. – user2111827