r - 强制格子为所有轴刻度使用标签

标签 r lattice axis-labels

我正在使用 lattice 包中的 xyplot 生成一个图。我使用以下命令:

xyplot(Y ~ X | Bench, dt, type = 'o')

这是结果:

sample image

在 Y 轴上有一个没有标签的刻度 (0.85)。有什么方法可以强制格子在刻度旁边打印一个标签(就像它对所有其他刻度所做的那样:1.00、0.95 和 0.90)?

编辑: 我知道一些“手动”方法可以调整绘图,使所有刻度线都有相应的标签。但我所知道的方法取决于绘制的实际数据,如果数据发生变化,它们可能需要进行调整。我正在寻找对此的自动解决方案。就像某种标志,指示 xyplot 不要在没有相关标签的情况下留下刻度。当然,它可能只是发生这样的标志不存在......知道这也会有所帮助。

最佳答案

您可以使用 scales= 参数显式指定轴刻度位置,这会跳过自动轴标签裁剪:

xyplot(..., scales=list(y=list(at=seq(.85, 1, .05)), x=list(at=...)))

编辑:给你,更自动化:

axis.overlap <- function(..., components) {
  components$bottom$labels$check.overlap <- FALSE
  axis.default(..., components=components)
}

然后任何时候你想包括轴重叠标签,你可以指定:

xyplot(Y ~ X | Bench, dt, axis=axis.overlap)

或者随意包装:

xyplot2 <- function(..., axis=axis.overlap) xyplot(..., axis=axis)

xyplot2(Y ~ X | Bench, dt)

关于r - 强制格子为所有轴刻度使用标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21973981/

相关文章:

r - ggsubplot 是否适用于 R 3.2.1+?

java - 更改 jfreechart 的域轴标签和范围轴标签的字体大小

python - 重叠的 yticklabels : Is it possible to control cell size of heatmap in seaborn?

r - rmarkdown 中的传单热图

在 R 中读取半结构化文本文件

r - 将 x 轴设置为与 y 轴在 0 处与点阵相交

R-package Lattice : group by color doesn't work when using panel argument

r - 更改 xyplot() 中的背景颜色

r - 更改轴标签中多条线之间的距离

r - mirt 图中的字体大小