2011-10-30 2 views
4

나는이 같은 특정 RGB 색상 값과 R의 간단한 산포도를 만들었습니다R과 동일한 RGB 색상 값을 가진 플롯으로 범례를 만드시겠습니까?

plot(shuffled, p_val, pch=19, col="black", xlim=c(0,100), ylim=c(0,1)) 
points(ri, p_val, pch=19, col=rgb(96,123,139, 50, maxColorValue=255), 
     xlim=c(0,100), ylim=c(0,1)) 
points(somo, p_val, pch=19, col=rgb(225,64,5, 50, maxColorValue=255), 
     xlim=c(0,100), ylim=c(0,1)) 

내가 피겨 전설을 생성하기 위해 위의 코드에서 동일한 색상 값을 사용하고 싶습니다. 내가 사용하고있는 코드는 이렇게 보입니다. 그러나 그래프 포인트의 색상을 일치시키는 방법을 알아낼 수 없습니다.

legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n", 
     c("black",col=rgb(96,123,139, 50, maxColorValue=255),col=rgb(225,64,5, 50, maxColorValue=255)) 

아무도 도와 줄 수 있습니까? 내 전설에 무슨 문제가 있니? 감사!

+2

shuffled, ri, somo 및 p_val 데이터 항목이 없기 때문에 재현 할 수없는 예제가 아닙니다. 직접 잘라내어 붙여 넣을 수있는 코드를 제공하여 도우미가 더 쉽게 사용할 수 있습니다. – Spacedman

+0

출력에 무엇이 잘못되었는지 말할 수 있습니까? 또한'legend' 호출에는 오타가 있습니다 :')'가 누락 된 것일 수 있으며 마지막 인수 인'col ='전체에 레이블을 붙이고 싶을 것입니다. – joran

답변

7

이 나를 위해 작동합니다

plot(1:3, 
    col=c("black",rgb(96,123,139, 50, maxColorValue=255), 
       rgb(225,64,5, 50,maxColorValue=255)),pch=19) 

legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n", 
    col=c("black",rgb(96,123,139, 50, maxColorValue=255), 
     rgb(225,64,5, 50, maxColorValue=255)),pch=19) 

주 당신은 COL =의 하나의 벡터를 지정해야합니다, 당신의 라벨의 크기, 당신은 또한이 너무에서 = A PCH를해야합니다. 또는 fill = [vector of colors]를 사용하여 채워진 상자를 그릴 수 있습니다.

+0

고마워요! 끝에서'pch = 19' 논쟁을 버렸습니다. 이것이 제가 문제라고 생각하는 것입니다. – drbunsen

1

문제는 R 색상 키워드 인 "검은 색"을 16 진수 색상 키로 연결하는 것입니다. 이 같은 것이 작동해야합니다 :

colvec <- rgb(rbind(t(col2rgb("black")), ## this is obviously just 0, 0, 0 
        c(96,123,139), 
        c(225,64,5)), 
       alpha=50,max=255) 

plot(shuffled, p_val, pch=19, col=colvec[1], xlim=c(0,100), ylim=c(0,1)) 
points(ri, p_val, pch=19, col=colvec[2], 
     xlim=c(0,100), ylim=c(0,1)) 
points(somo, p_val, pch=19, col=colvec[3], 
     xlim=c(0,100), ylim=c(0,1)) 
legend("topright", c("Shuffled", "Riffled", "Somosome"), cex=1.0, bty="n", 
     col=colvec) 
관련 문제