【问题标题】:override R lattice parallelplot auto.key legend colors覆盖 R lattice parallelplot auto.key 图例颜色
【发布时间】:2013-03-16 17:27:51
【问题描述】:

我使用 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) 
)

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

【问题讨论】:

    标签: r lattice


    【解决方案1】:

    使用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)
               )
    }
    

    这个article 有助于找到这个解决方案。

    【讨论】:

    • 我希望我能投票更多。感谢您花时间回答您的问题。它为我节省了几个小时:我试图做完全相同的事情。
    猜你喜欢
    • 2014-12-03
    • 2019-10-27
    • 2014-08-02
    • 2011-04-12
    • 1970-01-01
    • 2020-11-28
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多