如何在自定义面板功能中控制颜色?

时间:2014-08-03 11:04:42

标签: r lattice

在此图中,分组由颜色指示。

xyplot(mpg ~ disp, data = mtcars,
   type = c('p', 'g'), auto.key = TRUE, 
   groups = cyl)

在下图中,我想通过颜色表示分组,如上例所示。

xyplot(mpg ~ disp, data = mtcars, auto.key = TRUE,
   groups = cyl,
   panel = function(x, y, ...) {
     panel.xyplot(x, y, type = 'g', ...)
     panel.text(x, y, labels = mtcars$gear)
   })

有人知道如何实现这个目标吗?非常感谢任何帮助!

谢谢和最好的问候, 塞巴斯蒂安

2 个答案:

答案 0 :(得分:1)

您的意思是这一点(将col传递给panel.text):

xyplot(mpg ~ disp, data = mtcars,
   groups = cyl,
   panel = function(x, y, ...) {
     panel.xyplot(x, y, type = 'g', ...)
     panel.text(x, y, labels = mtcars$gear, col = mtcars$gear)
   })

enter image description here

答案 1 :(得分:0)

我找到了一个满足我的解决方案:

xyplot(mpg ~ disp, data = mtcars,
   groups = cyl, 
   auto.key = list(title = 'Cylinders'),
   panel = panel.superpose,
   panel.groups = function(x, y, col.symbol, ...) {
     panel.text(x, y, 
                labels = mtcars$gear, 
                col = col.symbol)
   })

我想我已经掌握了如何在格子中进行分组; - )

感谢托马斯和最好的问候, 塞巴斯蒂安