我想在R中的格子图中添加一个图例,显示两组的密度。 我已将默认颜色更改为黑色和灰色。但是,图例没有更新颜色。
set.seed(4444)
x1 <- rep("Group A", 50)
x2 <- rep("Group B", 50)
y1 <- rnorm(50, 0, 2)
y2 <- rnorm(50, 1, 2)
dtf <- data.frame(x=c(x1, x2), y =c(y1, y2))
print(densityplot(~y, groups=x, data=dtf,
pch=".",
cex=2,
col=c("black", "gray"),
auto.key=TRUE,
xlab="Y"))
答案 0 :(得分:8)
传奇色彩是格子中众所周知的烦恼。看起来很难纠正,因为Deepayan建议使用simpleTheme作为解决方案。有关定位,请参阅Josh的回答。
print(densityplot(~y, groups=x, data=dtf,
pch=".",
cex=2,
par.settings=simpleTheme(col=c("gray","black")),
auto.key=TRUE,
xlab="Y"))
答案 1 :(得分:6)
可能有更优雅的解决方案,但这种方法效果很好。请注意,corner=
参数可用于将图例放置在图中的任何位置。
densityplot(~y, groups = x, data = dtf,
pch = ".",
cex = 2,
col = c("black", "gray"),
par.settings = list(superpose.line = list(col=c("black", "grey"))),
auto.key = list(corner = c(0.95, 0.95)),
xlab = "Y")