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')))