在不修改底层网格参数的情况下删除点图中的网格线

Remove grid lines in dotplot without modifying underlying trellis parameters

我想从点阵图中删除浅灰色网格线。在搜索 R 帮助页面、Sarkar 的书和网络后,我找到的一个答案是 this post,这说明您可以使用此魔法将所有点图的网格线宽度设置为零:

## turn off grid lines
d1 <- trellis.par.get("dot.line")
d1$lwd <- 0  ## hack -- set line width to 0
trellis.par.set("dot.line",d1)

示例:在执行上述操作之前和之后尝试 dotplot(VADeaths[,"Rural Female"])

这个解决方案有效,但我认为会有一种方法可以从 dotplot 函数内部控制网格线,也许使用面板函数。有没有办法做到这一点? (权威的"No"可以算作正确答案。)

panel.dotplot 中设置 col.line = "transparent" 应该可以解决这个问题。另见 ?panel.dotplot

dotplot(VADeaths[, "Rural Female"], panel = function(...) {
  panel.dotplot(..., col.line = "transparent")
})