在下面这个带有触觉包的可复制示例中,将自动为方框和相应的图例选择颜色。不过,我想自定义的颜色盒情节和传奇。
tactile::bwplot2(runif(1000) ~ cut(runif(1000), c(0,0.3,0.6,1)) | as.factor(c(1,2,3)),
groups = sample(1:2, 1000, replace = TRUE), auto.key = TRUE)

但是,当我尝试这样做时,方框中的颜色发生了变化,但是传说中的颜色没有:
这里我创建了一个新的配色方案:
coolNewPars <- list(superpose.symbol = list(pch = 21, cex = 2, col = "gray20",
fill = continentColors$color))然后再次绘制盒图,并指示auto.key将图例内容放置到2列中,并将par.settings设置为coolNewPars:
tactile::bwplot2(runif(1000) ~ cut(runif(1000), c(0,0.3,0.6,1)) | as.factor(c(1,2,3)),
groups = sample(1:2, 1000, replace = TRUE), auto.key = list(columns = 2),par.settings = coolNewPars)

如何强制图例颜色与coolNewPars颜色匹配?
发布于 2018-10-11 19:37:13
问题是lattice::panel.superpose()使用trellis.get.par("superpose.symbol")来区分组,而绘制键的函数使用"superpose.polygon"或类似的东西。
无论如何,这里有一个解决方案(虽然很尴尬):
coolNewPars <- list(superpose.polygon = list(col = 2:3),
superpose.symbol = list(fill = 2:3))
tactile::bwplot2(runif(1000) ~ cut(runif(1000), c(0,0.3,0.6,1)) | as.factor(c(1,2,3)),
groups = sample(1:2, 1000, replace = TRUE),
auto.key = TRUE,
par.settings = coolNewPars)

https://stackoverflow.com/questions/52694403
复制相似问题