R 如何使用数据后面的abline()绘制网格线?

R 如何使用数据后面的abline()绘制网格线?,r,plot,R,Plot,当我使用abline()在绘图上绘制网格线时,网格线在数据上绘制 有没有办法在数据后面画出abline()行?我觉得这样看起来会更好 例如: x <- seq(0, 10) y <- x plot(x, y, col = 'red', type = 'o', lwd = 3, pch = 15) abline(h = seq(0, 10, .5), col = 'lightgray', lty = 3) abline(v = seq(0, 10, .5), col = 'lightg

当我使用
abline()
在绘图上绘制网格线时,网格线在数据上绘制

有没有办法在数据后面画出
abline()
行?我觉得这样看起来会更好

例如:

x <- seq(0, 10)
y <- x
plot(x, y, col = 'red', type = 'o', lwd = 3, pch = 15)
abline(h = seq(0, 10, .5), col = 'lightgray', lty = 3)
abline(v = seq(0, 10, .5), col = 'lightgray', lty = 3)
x首先使用type=“n”绘制坐标。然后放入网格线,然后使用常规打印类型再次打印:

plot(x, y, col = 'red', type = 'n', lwd = 3, pch = 15)
abline(h = seq(0, 10, .5), col = 'lightgray', lty = 3)
abline(v = seq(0, 10, .5), col = 'lightgray', lty = 3)
par(new=TRUE)
plot(x, y, col = 'red', type = 'o', lwd = 3, pch = 15)
我承认我一直认为
par
参数的名称是“向后”。使用
plot()
设置打印窗口,但使用
type=“n”
不打印任何数据。然后执行
abline()
调用,或使用
grid()
,然后使用适当的低级函数绘制数据(这里
points()
就可以了)


有关如何根据
abline()
版本指定网格的详细信息,请参见
?grid

面板。plot()
的第一个
参数可以获取函数列表或向量,以便将
abline()
调用放在其中

plot(1:4, panel.first = 
       c(abline(h = 1:4, lty = 2, col = 'grey') 
        ,abline(v = 1:4, lty = 2, col = 'grey')))

创建网格线的另一种方法是在打印时或在
功能中设置
tck=1
(在创建网格线后,您可能仍然希望使用
绘制点。

向后,如果使用
点()绘制数据,则实际上不需要
例如。我没有意识到,
点中有“type”参数。points()不需要这个参数。我认为Gavin的意思是,您可以像以前一样调用初始type='n'plot(),但只需将最后一行更改为points(而不是plot(.then par()不需要调用。顺便说一句,类型可以分为点和线,我相信,我知道有时我需要这两种类型,只要调用类型为“b”的line()。我理解他的意思。我刚才解释了为什么我不使用两个调用点和线的方法。我很感谢这个答案。我已经告诉过我,我将来会使用panel.first很多。
## using `grid()`
plot(x, y, type = "n")
grid()
points(x, y, col = 'red', type = 'o', lwd = 3, pch = 15)
plot(1:4, panel.first = 
       c(abline(h = 1:4, lty = 2, col = 'grey') 
        ,abline(v = 1:4, lty = 2, col = 'grey')))