簡體   English   中英

如何使用晶格將更新的線條顏色合並到R中的圖形的圖例中?

[英]How to incorporate updated line colours into legend of a plot in R using lattice?

背景和問題:

我想在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"))

在此輸入圖像描述

傳奇色彩是格子中眾所周知的煩惱。 看起來很難糾正,因為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"))

可能有一個更優雅的解決方案,但這很好用。 請注意, 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")

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM