根据条件更改条带文本的颜色

时间:2015-02-20 17:47:28

标签: r lattice

我想根据条件更改面板条中文本的颜色。 让我们假设我正在处理以下虚拟数据帧和散点图:

set.seed(1)
df <- as.data.frame(cbind(
    x = c("AV","DZ"),   
    y=rep(c(letters[1:4]),5), 
    stringsAsFactors = F))
df$z <- rnorm(20)
df$q <- rnorm(20)
plotter <- function(dataframe) { xyplot(q ~ z | y, data=dataframe)}
charts <- dlply(df, .(x), plotter)
charts

如果par.strip.text的平均值小于零,我想将col颜色变量"red"设置为df$q,否则设置为"blue"。 你会怎么建议继续?我尝试了类似if-else条件的事情,但经过几次尝试后我感到很失落。

更一般地说,我非常感谢任何关于如何根据这样的多面板情节突出显示某些面板的建议。

修改
与已经回答的问题的不同之处在于,我需要将xyplotdlply结合使用,以便在多个页面上进行绘图。按照上面的示例,x的每个值都有一个页面,y上的条件(我已经编辑了代码以更准确地反映情况)。
现在,如果我想更改条带背景的颜色(在注释中有用的建议),我是否应该从列表中选择颜色的值?我应该使用矢量列表吗?数据框? 让我们假设四种面板颜色应该如下:

[1] "blue"  "red"   "blue"  "green"

您如何建议修改链接中提出的myStripStyle功能?

0 个答案:

没有答案