2012-10-19 2 views
0

groups을 사용하면 래티스가 각 그룹에 다른 색상을 부여합니다. 예 :래티스 그래픽 기본 그룹 색상을 변경하는 방법은 무엇입니까?

df <- data.frame(x=1:56, y=rnorm(56), class=1:14) # create some data 
xyplot(y ~ x, groups=class, data=df, type="l", auto.key=list(space="right")) 

그러나 기본적으로 Lattice는 위 예제를 실행하면 7 색만 사용합니다. 그룹이 7 개 이상인 경우 래티스는 색상을 순서대로 다시 순환하므로 서로 다른 그룹의 데이터가 같은 색상을 갖습니다. 나는이 색상이 trellis.par.get()$superpose.symbol$col에 저장된다는 또 다른 Stackoverflow 기사를 배웠다. 그룹 색상 목록을 더 길게 만들고 싶습니다 (호출을 플로팅 할 때 색상을 명시 적으로 지정하지 않아도 됨). 그러나이 색상 목록을 변경하는 방법을 알 수는 없습니다. (이는 격자 구문이나 의미에 대한 몇 가지 기본적인 사실에 대한 무지 수 있습니다.)이 문제를 보여

> trellis.par.get()$superpose.symbol$col 
[1] "#0080ff" "#ff00ff" "darkgreen" "#ff0000" "orange" "#00ff00" "brown"  
> class(trellis.par.get()$superpose.symbol$col) 
[1] "character" 
> mycolors <- c(trellis.par.get()$superpose.symbol$col, "navyblue", "purple", "gold") 
> trellis.par.get()$superpose.symbol$col[1:10] <- mycolors 
Error in trellis.par.get()$superpose.symbol$col[1:10] <- mycolors : 
    invalid (NULL) left side of assignment 

내가 그 오류 메시지가 나에게 말하고 이해하지 않습니다를.

답변

4

당신은 격자 그래픽 매개 변수를 설정하는 trellis.par.set()를 사용한다. 그래서 :

trellis.par.set(superpose.symbol = list(col = mycolors)) 

베어는 새로운 그래픽 장치를 만들 경우, 당신은 색상 설정을 재설정해야합니다 있도록이 만, 현재 활성화 된 장치에 대한 설정을 변경할 것이라고 생각한다.

또한, 이는 세부 사항 섹션에서 도움말 페이지 ?trellis.par.get에 설명되어 있습니다. 저기 봐요.

+0

난 그냥 바보라는 함수 ... 설정은()가 있다는 사실을 무시 줄 것을 깨달았다. 그러나 매개 변수를 설정하는 방법이 방금 알아 낸 방법보다 훨씬 간단하기 때문에 제가 물었 기 때문에 기쁩니다. 도움말 페이지를 훑어 보았지만 간단한 설명을 이해 한 후 세부 정보 섹션을 살펴 보더라도 철저한 연구 없이는 따라하기가 어렵습니다. 고맙습니다! – Mars

+0

@Mars, 그래, 나는 격자를 멋진 패키지로 찾는다. 그리고 나는 또한 그 복잡한 내용을 이해하고 사용하려고 많은 시간을 보냈다. – BenBarnes

관련 문제