2013-07-19 2 views
2

Я ищу легенду в верхней части следующего графика а, который описывает полигоны и синюю точку в кадрах.Легенда о гистограмме решетки

require(lattice) 
    grid<-data.frame(F=rnorm(1000),T=rep(c("A","B"),each=500)) 
    histogram(~F|T, data=grid, params=c(1,2) 
      ,layout=c(2,1), xlab = "",ylab="",as.table=TRUE 
      #,par.settings = list(superpose.polygons = list(col=c(4))) 
      #,key = list(polygons = list(col=c(4)),space="top",columns=1 
      #   ,text = list("text") 
      #   ) 
      #, auto.key = list(polygons = TRUE,title = "Survived", columns = 1) 
      ,type="density",breaks=40 
      ,panel=function(x,params,...){ 
       panel.grid() 
       panel.histogram(x,...,col=8)  
       lab<-format(params[panel.number()], digits=2, nsmall=2) 
       panel.points(params[panel.number()],0,pch=16,col=4) 
       panel.text(1, 0.05, labels = lab) 
       }) 

ответ

0

Примечание, поздний ответ.

Фокус в том, что у вас есть две текстовые метки (одна для баров и другая для точек), но у вас есть только один прямоугольник (бары) и одна точка в легенде. Вы можете сделать эту работу, добавив два аргумента text= к вашему аргументу key=. Lattice добавит элементы к ключу в том же порядке, что и их список в коде.

require(lattice) 
grid<-data.frame(F=rnorm(1000),T=rep(c("A","B"),each=500)) 
histogram(~F|T, data=grid, params=c(1,2) 
     ,layout=c(2,1), xlab = "",ylab="",as.table=TRUE 


     ,key=list(space="top",   #puts key on top of panels 
      rectangles=list(col=8), #draws gray box 
      text=list("gray bars"), #label box 
      points=list(col=4,pch=16), #draw blue point 
      text=list("blue dots") #label point 
    ) 


     ,type="density",breaks=40 
     ,panel=function(x,params,...){ 
     panel.grid() 
     panel.histogram(x,...,col=8)  
     lab<-format(params[panel.number()], digits=2, nsmall=2) 
     panel.points(params[panel.number()],0,pch=16,col=4) 
     panel.text(1, 0.05, labels = lab) 
     }) 
Смежные вопросы