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

max*_*ljd 33 plot r

当我在绘图上绘制网格线时,使用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)
Run Code Online (Sandbox Code Playgroud)

产生的图表具有遍布数据的灰色网格线(红线).我希望红线位于灰线之上.

Joh*_*ohn 41

panel.first的参数plot()可以采取的函数列表或载体,所以你可以把你的abline()电话在那里.

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


Rei*_*son 16

使用plot()设置了绘图窗口,但使用type = "n"不绘制任何数据.然后进行abline()调用或使用grid(),然后使用适当的低级函数绘制数据(这里points()很好).

x <- seq(0, 10)
y <- x
plot(x, y, type = "n")
abline(h = seq(0, 10, .5), col = 'lightgray', lty = 3)
abline(v = seq(0, 10, .5), col = 'lightgray', lty = 3)
points(x, y, col = 'red', type = 'o', lwd = 3, pch = 15)
Run Code Online (Sandbox Code Playgroud)

要么

## using `grid()`
plot(x, y, type = "n")
grid()
points(x, y, col = 'red', type = 'o', lwd = 3, pch = 15)
Run Code Online (Sandbox Code Playgroud)

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


42-*_*42- 8

先用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)
Run Code Online (Sandbox Code Playgroud)

我承认我一直认为该par参数的名称是"倒退".