2012-03-14 3 views
5

This 질문은 격자 플롯 (즉, 에 해당하는 두 개의 abline()을 일반 플롯으로 사용)에 대해 특정 점에 격자를 추가하는 방법을 설명합니다. 내 문제는 그 때 일반 격자 (그리드()에 대한 호출의 일반 음모에 대한 )에 추가하려고하면 ... 음모의 내용 ... 사라집니다. 다음은 예입니다 : 당신이 마지막 옵션 (즉, 패널 = 기능 (X, Y) {panel.grid을()}) 제거하면격자에 일반 격자를 추가하는 방법

B<-cbind(rnorm(100),rnorm(100), floor(runif(100,1,7)), floor(runif(100,1,3)), 
      floor(runif(100,1,4))) 
colnames(B)<-c("yval","xval","gval","p","cr") 
B<-as.data.frame(B) 
xyplot(B$yval~B$xval|B$p*B$cr,group=B$gval,main="Scatterplots by Cylinders and Gears", 
      ylab="Miles per Gallon", xlab="Car Weight",type="l",lwd=5, 
      panel=function(x,y){panel.grid()}) 

다음 i는 데이터 라인을 볼 수 있지만 그리드() . 그리드와 데이터 라인을 사전에

감사 모두을 할 수있는 방법,

답변

5

이 있습니까이 시도 : 당신이 사용할 수 있기 때문에

xyplot(yval ~ xval | p*cr, data=B, group=gval, type=c("l","g"), lwd=5, 
     main="Scatterplots by Cylinders and Gears", 
     ylab="Miles per Gallon", xlab="Car Weight") 

나는 조금 당신의 구문을 단순화 변수 이름은 data=이면 data.frame입니다. 더 포인트 나 선이 있었다없는 panel.xyplot()를 추가하는 것을 잊었다 때문에 키가 라인 + 그리드를 의미하는 type=c("l","g")를 사용하는 것입니다, 그리고 것이 경우

panel=function(...) { 
    panel.xyplot(...) 
    panel.grid() 
} 

처럼 보이는 패널 함수와 동일한 기능이있다 그어진. 다른 격자가 필요한 경우 위 코드를 사용하여 호출을 panel.grid()으로 사용자 정의 할 수 있습니다.

+0

감사합니다! 그리드 색상을 어떻게 바꿀 수 있는지 알아? – user189035

+0

@ user189035'help (panel.grid)'를보십시오 :'col ='인자가 있습니다. 'col.line ='는'group ='인수를 방해하지 않고'xyplot'에 직접 전달 될 수 없으므로 위와 같은 사용자 정의 패널 함수를 사용해야합니다. 아마도'panel.grid (h = -1, v = -1, col.line = "red")'와 같은 것으로 끝날 것입니다. – chl

관련 문제