根据Set或factor,而不是组,将颜色分配给晶格中的图

时间:2014-06-18 10:59:03

标签: r plot lattice

我有一个实验数据的格子图,它有4个数据集(即下面的“配置”中有4个不同的子集),每个数据集根据配置进行细分,然后根据风向分组在每个测试类型中,“Dir ”。我可以根据所有绘图中的“Dir”分组设置点的形状,但我不能根据“Config”设置颜色,以便例如第一个绘图具有所有红点,第二个绘图具有所有蓝点我在格子中使用了一个xyplot,而剧情的代码是:

xyplot(ach[,"F"]~ach[,"Ar_sqrt"] | Config., type=c("p"),ach, groups=Dir, 
   auto.key=list(TRUE, space="bottom", columns=4, padding.text=(8)), 
   Outer=TRUE, allow.multiple=TRUE, as.table=TRUE, scales=list(tick.number=10),
   grid=TRUE, par.settings=simpleTheme(pch=points$shape, cex=1.75, col=1),
   abline=list(c(0,0.2013), col=2, type="l"), layout=c(1,4),  
   panel = function( x,y,...) {
     panel.abline(lm(y~x),col = "black", lwd=1)
     panel.xyplot( x,y,...)
   })

我无法附上一张图片,因为我的代表是10岁,道歉。我遇到了设置颜色等不同的方法,但它们似乎都使用分组功能。

数据集在这里可用,(我为pch和col添加了列以尝试使用它但无济于事:

https://www.dropbox.com/sh/ug9kun9rycsb1fw/AABSXuMs9kEWSgeEAcTYhDkxa

重复的任何帮助或方向我都没有非常感激...

1 个答案:

答案 0 :(得分:3)

最好使用panel.number()来完成,这使您可以在调用自定义面板函数时访问当前绘制的面板的索引。

这是一个简单的可重复示例:

library(lattice)
lattice.options(default.theme = standard.theme(color = FALSE))
COLORS = c("blue", "gold", "red", "green", "black", "grey")

xyplot(mpg ~ disp | carb, data = mtcars,
       panel = function(x,y,...) { 
           panel.xyplot(x, y, col=COLORS[panel.number()], pch=16, ...)
       })

enter image description here

更多参与的示例有herehere