如何添加背景网格以在 R 中使用自定义间隔进行绘图?

How to add background grid to plot with custom intervals in R?

如何向 R 图添加背景网格,使背景线彼此均匀间隔一个单位?

这是我目前尝试过的方法:

x = 1:10
y = 21:30
plot(x, y, yaxt="n")
axis(2, at=20:30, las=2)
grid(NULL, NULL)

Here,我看到对网格的调用将网格与默认轴对齐。 (在这种情况下,22、24、26、28 和 30。)但是,我希望将网格与新轴对齐,即 21、22、... 30。此外,我看到这将网格强加于最重要的一点。我想在背景中看到网格。

注意:我不想要使用 absline() 的解决方案,除非可以将这些行强制到后台。

注 2:这不是这个 question 的骗局。他们只是想添加一个网格。我的问题是不同的,因为我想在背景中添加网格,并使用自定义间隔线。

实现方法如下:

x = 1:10
y = 21:30
plot(x, y, yaxt="n", panel.first = c(abline(h = 21:30, col="grey")), pch=19)
axis(2, at=20:30, las=2)

可以通过更改 panel.first 参数中填充到 c 的内容来指定自定义间隔。同时,对 axis 的调用添加了标签。最后,这确保了网格线确实在图像的背景中。

这是这段代码生成的图像: