【问题标题】:R Lattice: Stacked/Superposed bwplot with groupsR Lattice:带有组的堆叠/叠加 bwplot
【发布时间】:2023-03-29 12:40:01
【问题描述】:

我已经非常接近生产我想要的东西了。

vcDeciles <- ceiling(runif(100,1,10))
vcY <- runif(100,0,10)
vcPlotGroups <- sample(c("Pre","Post","Both"),100,1)
vcPlotColors <- 1:length(levels(as.factor(vcPlotGroups)))

print(bwplot(vcY~vcDeciles,ylim=c(min(vcY),max(vcY)),horizontal=F,main="test"
                                       ,groups=vcPlotGroups
                                       ,col=vcPlotColors
                                       ,panel=function(x,y,...) {panel.superpose(x,y,...,panel.groups=function(x,y,col,...) {
                                         panel.bwplot(x,y,col=col,...)
                                         panel.abline(lm(y~x),col.line=col)})}
                                       ,key=list(space="top",text=list(levels(as.factor(vcPlotGroups)),lines=list(col=vcPlotColors,lwd=6)))))

问题:

1) 颜色未显示在图例中。根据其他正在运行的图,(“Both”= 黑色;“Post”= 红色,“Pre”= 绿色)

2) “Post”组的填充颜色不应该是浅蓝色,而是黑色。 abline 使用了正确的颜色。

【问题讨论】:

    标签: r plot lattice


    【解决方案1】:

    对于您的关键问题,我认为您只是遇到了括号匹配问题。然后我认为更改箱形图颜色的最简单方法就是将fill= 也传递给面板函数。例如

    bwplot(vcY~vcDeciles,ylim=c(min(vcY),max(vcY)),
      horizontal=F,
      main="test", 
      groups=vcPlotGroups,
      col=vcPlotColors, 
      panel=function(x,y,...) {
        panel.superpose(x,y,...,panel.groups=function(x,y,col,fill,...) {
                   panel.bwplot(x,y,col=col,fill=col, ...)
                   panel.abline(lm(y~x),col.line=col)}
        )
      },
      key=list(space="top",
                text=list(levels(as.factor(vcPlotGroups))),
                lines=list(col=vcPlotColors,lwd=6)),
      par.settings = list(superpose.polygon=list(color="black"))
    )
    

    会回来

    【讨论】:

    • 非常感谢!您是否偶然知道我是否可以将 Alpha 值用于颜色不透明度?可以想象,颜色填充现在隐藏了每个框的平均点。
    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多