5

我使用 lattice 包 parallelplot 方法来绘制数据并在生成图例时遇到了麻烦。我为绘图创建了一个自定义颜色的矢量,但找不到将它们传入以覆盖图例中显示的默认颜色的方法。虽然我没时间了,最​​终在 Photoshop 中更正了图例颜色,但我想学习在 lattice 中执行此操作的正确方法。

这是生成带有 4 列图例的图的代码:

parallelplot(acc, horizontal.axis=FALSE, col=acc_colors, lwd=1.5, cex=2.5, 
    ylab="Accuracy (Min = 50%, Max = 100%)", 
    xlab="Activity (overall = average across activities)", 
    main="Human Activity Recognition Accuracy", 
    scales=list(cex=1), 
    auto.key=list(text=c("Test Set", "Test Subject", "Training Set", "Training Subject"), 
    title=" ", 
    space="top", columns=4, points=FALSE) 
)

任何想法如何传递自定义图例颜色?

4

1 回答 1

8

使用show.settings() 和str(trellis.par.get()) 显示需要自定义的图形参数是superpose.line。使用 par.settings 传入自定义设置,在仍然使用 auto.key 的同时提供自定义键颜色和线宽:

acc_par <- list(superpose.line = list(col = key_colors), lwd=1.5, lty=1.5)
parallelplot(acc, horizontal.axis=FALSE, col=acc_colors, lwd=1.5, cex=2.5, 
           ylab="Accuracy (Min = 50%, Max = 100%)",
           xlab="Activity (overall = average across activities)", 
           main="Human Activity Recognition Accuracy",
           scales=list(cex=1),
           par.settings=acc_par,
           auto.key=list(text=c("Test Set", "Test Subject", "Training Set", "Training Subject"),
                         title=" ", space="top", columns=4, lines=TRUE)
           )
}

本文有助于 找到此解决方案。

于 2013-03-25T11:27:30.920 回答