gpt4 book ai didi

r - 更改与 R/lattice 中的多个面板关联的 strip 的背景和文本

转载 作者:行者123 更新时间:2023-12-03 23:21:07 26 4
gpt4 key购买 nike

以下是我处理的示例。

require(lattice)
data(barley)
xyplot(yield ~ year | site, data = barley)

enter image description here

我想为不同的小条设置不同的 strip 颜色,字体颜色也与背景颜色不同优化。例如:
strip background colors = c("black", "green4", "blue", "red", "purple", "yellow")
font color = c("white", "yellow", "white", "white", "green", "red")

提供了第一个的粗略草图:
enter image description here
我怎样才能做到这一点?

最佳答案

引用函数范围之外的变量可能不明智。

您可以使用 par.strip.text将附加参数传递给 strip 函数。 par.strip.text可以在绘图级别定义,通常用于设置文本显示属性,但是作为列表,您可以使用它将变量带入 strip 函数。

bgColors <- c("black", "green4", "blue", "red", "purple", "yellow")
txtColors <- c("white", "yellow", "white", "white", "green", "red")

# Create a function to be passes to "strip=" argument of xyplot
myStripStyle <- function(which.panel, factor.levels, par.strip.text,
custBgCol=par.strip.text$custBgCol,
custTxtCol=par.strip.text$custTxtCol,...) {
panel.rect(0, 0, 1, 1,
col = custBgCol[which.panel],
border = 1)
panel.text(x = 0.5, y = 0.5,
font=2,
lab = factor.levels[which.panel],
col = custTxtCol[which.panel])
}
xyplot(yield ~ year | site, data = barley,
par.strip.text=list(custBgCol=bgColors,
custTxtCol=txtColors),
strip=myStripStyle)

关于r - 更改与 R/lattice 中的多个面板关联的 strip 的背景和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8536239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com