2014-05-21 2 views
2

데이터 프레임이 있고 두 개의 열을 기반으로하는 오버레이 밀도 플롯을 만들고 싶습니다. 색상이 투명 해 지길 원합니다. 채우기 옵션을 사용하고 기본적으로 채우기를 요소 열로 할당했습니다. 기본적으로 요소 열이 있으면 모든 채우기가 투명하게됩니다.투명 색상의 채우기 밀도 곡선

하지만 이런 상황에서는 아무런 요소가 없는데 어떻게 투명하게 채울 수 있습니까?

library("ggplot2") 
vec1 <- data.frame(x=rnorm(2000, 0, 1)) 
vec2 <- data.frame(x=rnorm(3000, 1, 1.5)) 

ggplot() + geom_density(aes(x=x), fill="red", data=vec1) + 
    geom_density(aes(x=x), fill="blue", data=vec2) 

나는 geom_density(alpha=0.4)을 추가하려고 시도했지만 아무런 효과가 없었습니다. enter image description here

+1

'geom_density (...) '호출 내에서'alpha = .4'를 넣으십시오. – jlhoward

답변

5

이렇게하면? OPS에

ggplot() + geom_density(aes(x=x), fill="red", data=vec1, alpha=.5) + 
    geom_density(aes(x=x), fill="blue", data=vec2, alpha=.5) 

편집 응답 언급.

이것은 복수 곡선을 ggplot으로 그려주는 관용적 방법입니다.

gg <- rbind(vec1,vec2) 
gg$group <- factor(rep(1:2,c(2000,3000))) 
ggplot(gg, aes(x=x, fill=group)) + 
    geom_density(alpha=.5)+ 
    scale_fill_manual(values=c("red","blue")) 

그래서 우리는 먼저 그룹화 변수를 추가, 함께 두 개의 데이터 세트를 결합한다. 그런 다음 그룹화 변수 인 ggplot을 말하면 다른 모든 것을 처리합니다.

+0

이 밀도 도표에 레이블을 붙이는 좋은 방법이 있습니까? 서로 위에 두 개 이상을 그릴 계획입니다 –

+0

내 편집보기 위. – jlhoward

+0

여기서 유일한 문제는 내가 음모를 꾸미는 데이터가 밀도 그래프 위의 예를 들어 001, 200, 100, - 200에서 나온 것입니다. 100 개 열은 밀도 할당 함수로 그룹을 할당하는 것이 어렵습니다. –

관련 문제