2013-10-09 2 views
3

3 가지 색상이 희미 해지는 상자를 그려 봅니다. 왼쪽 상단은 빨간색, 오른쪽 상단은 파란색, 하단은 흰색이어야합니다.색상 16 진 코드 행렬 플롯

##Change from red to blue as move left to right, fade to white as move from top to bottom 

data<-matrix(1:(255*255),ncol=255,nrow=255) 

rb<-colorRampPalette(c("red","blue"))(255) 

colsMat<-matrix(nrow=255,ncol=255) 

for(col in rb){ 
    idx<-which(rb==col) 
    colsMat[idx,]<-colorRampPalette(c(col,"blue"))(255) 
} 

colsVec<-as.vector(colsMat) 

image(data,col=colsVec,xaxt="n",yaxt="n") 

내가이 빨간색에서 파란색으로 가고 얻을 수 있습니다 (하지만 흰색을 추가해야합니다) 다음과 같이 :

data<-matrix(1:255,ncol=255,nrow=255) 
image(data,col=rb,xaxt="n",yaxt="n") 
+0

[* 여기

내가 무엇을 시도했다입니다 * This **] (http://stackoverflow.com/q/11773295/1478381)는 당신이하려고하는 것에 매우 가깝게 보인다. 아마 그게 도움이 될까요? –

+0

다른 솔루션을 찾을 수 없다면 지금 당장 저를 해고 할 정도로 다른 것처럼 보입니다. –

답변

3
rb<-colorRampPalette(c("red","blue"))(255) 
trans<-sapply(seq(from=0,to=1,length.out=255),function(op) rgb(1,1,1,op)) 

image(matrix(1:255,ncol=255,nrow=255),col=rb,xaxt="n",yaxt="n") 
par(new=T) 
image(t(matrix(255:1,ncol=255,nrow=255)),col=trans,xaxt="n",yaxt="n") 
+1

+1 훌륭한 답변과 훌륭한 질문에 대답 해주세요! –

관련 문제