如何在使用scatterplot
生成的条件splom
矩阵的面板中指定组级别的颜色?我可以在密钥中这样做,但我在panel.pairs中找不到符号的参数。键不仅与面板不匹配,分配到组级别的颜色应为male=blue
,female=pink
。
dput(head(dfSO,20))
structure(list(MHI = c(67460L, 89033L, 61836L, 49853L, 88772L,
105107L, 94744L, 56061L, 49435L, 68027L, 152673L, 56408L,
74493L, 53048L, 62485L, 96712L, 90211L, 81249L,
111576L, 102231L),
gender = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L),
.Label = c("female", "male"),
class = "factor"),
happy = c(4, 4, 1, 4, 3, 3, 3, 3,
2, 4, 3, 4, 3, 4, 3, 1, 4, 3, 3, 2)),
.Names = c("MHI", "gender", "happy"), row.names = c(NA, 20L),
class = "data.frame")
library(lattice)
super.sym <- trellis.par.get("superpose.symbol") #where I can customize key
splom(dfSO, groups=dfSO$gender, subset=TRUE, panel=panel.superpose,
key=list(title="By Gender", columns=2,
points=list(pch=super.sym$pch[1],col=super.sym$col[1:2]),
text=list(c("male","female"))))
答案 0 :(得分:1)
在格子图形中更改图形参数时,我最喜欢的方法是将参数传递给 par.settings
参数。这会更改当前图表的图形设置,但不会更改trellis.par.get()
找到的全局设置。
(我也会将key
参数更改为auto.key
。)
您使用superpose.symbol
设置在正确的轨道上!分组变量级别(male
和female
)的顺序决定将哪种颜色分配给哪个级别。由于级别通常按字母顺序排序,female
将获得第一种颜色。
首先,使用所需的图形参数创建一个对象:
myPars <- list(superpose.symbol = list(pch = super.sym$pch[1], col = c("pink", "blue")))
然后通过splom
参数将这些传递给par.settings
(注意更改的key
)。
splom(dfSO, groups = dfSO$gender, subset = TRUE, panel = panel.superpose,
auto.key = list(title="By Gender", columns=2),
par.settings = myPars)