2014-03-24 2 views
0

alphaplot 함수에서 col 인수로 변환하려고했습니다. each_color에 대해 col=alpha(each_color,.5)을 쓰지 않아도 어떻게 할 수 있습니까?플롯 함수의 벡터 벡터에 투명도 적용

벡터화 할 수있는 방법이 있습니까?

set.seed(10) 
mydata <- rnorm(100) 
mycol <-c("#FDF6E3", "#B3E2CD", "#FDCDAC", "#CBD5E8", "#F4CAE4", "#E6F5C9", "#FFF2AE", "#F1E2CC", "#CCCCCC") 
par(bg='gray30') 
plot(mydata,col=mycol,pch=19,cex=3) 
mycol_alpha <- paste0('alpha(\'',mycol,'\',.5)') 
par(bg='white') 

직접 또는 다른 방법으로 mycol_alpha 기능 plot에 적용 할 수있는 방법이 있나요 : 여기

재현 할 예입니다?

갱신 :

This 하나는 솔루션을 제공합니다. 내 실수로, 알파 function이 기본 R에 있다고 생각했습니다. 우리는 library(scales)

솔루션이 필요합니다 @Robert에서 언급 한 바와 같이

set.seed(10) 
mydata <- rnorm(100) 
mycol <-c("#FDF6E3", "#B3E2CD", "#FDCDAC", "#CBD5E8", "#F4CAE4", "#E6F5C9", "#FFF2AE", "#F1E2CC", "#CCCCCC") 
par(bg='gray30') 
plot(mydata,col=scales::alpha(mycol,.5),pch=19,cex=3) 
+0

나는 그렇게 생각하지 않지만 '알파'를 'aphla'라고 잘못 입력했습니다 ... 여전히 투명성이 보이십니까? 또한, 이미'paste0'을 * vectorized 사용하고 있습니다. –

+0

나는 그 질문이 무엇인지 완전히 확신하지 못한다. 나는'alpha'가 커스텀 함수라고 가정하고있다. 벡터화되지 않았습니까? 왜 안돼? 'Vectorize (alpha)'를 써서 벡터화 할 수 있습니까? –

+2

기본 솔루션에 대한'grDevices :: adjustcolor' 시도 – baptiste

답변

1

벡터화이 문제가되지 않습니다.

transparency<-round(255*0.5) # 50 % 알파를

를 추가하려고 plot(... , col=mycol_alpha , ...)

에 저울이 필요 :: 알파 투명도를 추가해서는 안

mycol_alpha <- paste0(mycol,as.hexmode(transparency))

.