首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在点阵bwplot中获得框矩形的交替颜色?

如何在点阵bwplot中获得框矩形的交替颜色?
EN

Stack Overflow用户
提问于 2017-04-22 03:23:39
回答 1查看 379关注 0票数 0

当我执行以下代码时(数据集是格子包的一部分):

代码语言:javascript
复制
ngroups <- length(unique(barley$site)) + 1

bwplot(yield ~ variety, data = barley, box.width = 1/ ngroups,
       groups = year, scales=(x=list(rot=45)), 
       auto.key = list(points = FALSE, rectangles = TRUE, space = "right"),
       par.settings=list(box.rectangle = list(col=c("red", "green"), lwd=3),
                         superpose.polygon=list(col=c("green", "red"), pch=c(15,15))
                         ),
       panel.groups = function(x, y, ..., group.number) {
         panel.bwplot(x + (group.number-1.5)/ngroups, y, ...)
       },
       panel=function(...) {
         panel.grid(h = -1, v=0)
         panel.superpose(par.settings=list(box.rectangle=list(col=c("green", "red"))),  ...)
       }
      ) 

我得到了下面的图表:

如何从左到右获得红色和绿色的交替颜色?(我注意到,如果我删除自定义面板,它可以正常工作,但我希望保留灰色参考线。)

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-04-23 18:43:07

如果您愿意使用填充而不是边框来区分年份,我可以为您提供一个解决方案。我还在一个似乎是错误的地方改变了颜色的顺序(?),并删除了一些冗余的代码。

代码语言:javascript
复制
bwplot(yield ~ variety, data = barley, box.width = 1 / ngroups,
       groups = year, scales = (x = list(rot = 45)),
       par.settings = list(superpose.polygon = list(col = c("green", "red"),
                                                    pch =c (15, 15)),
                         superpose.symbol = list(fill = c("green", "red"))),
       auto.key = list(points = FALSE, rectangles = TRUE, space = "right"),
       panel.groups = function(x, y, ..., group.number) {
         panel.bwplot(x + (group.number - 1.5) / ngroups, y, ...)
       },
       panel = function(...) {
         panel.grid(h = -1, v = 0)
         panel.superpose(...)
       }
) 

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43550500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档