有没有一条命令可以轻松地在R图中添加网格?
grid命令好像会在它想要的任何地方画网格线。我通常使用abline将线条精确放置在我想要的位置。例如,
abline(v=(seq(0,100,25)), col="lightgray", lty="dotted")
abline(h=(seq(0,100,25)), col="lightgray", lty="dotted")
祝你好运!
grid()
急需参数来确定每个轴上第一条网格线的位置,而这个替代方案非常出色。 - Hank如果您没有使用自定义刻度间隔,您可以直接从plot()
命令控制网格和轴参数:
plot(cumsum(rnorm(100)), type='l', panel.first=grid())
plot.default()
文档提供了有关这些参数的更多信息。
plot(x~y, panel.first= grid())
,它将无法正常工作。 - rvezypanel.first
参数是惰性求值的,它经常会破坏网格。可惜。 - ivan866我同意cbare的观点。使用abline
仅在您真正需要时绘制线条。
以下是我上次代码中的示例:
abline(v=c(39448, 39814), col="grey40")
abline(h=c(-0.6, -0.4, -0.2, 0.2,0.4,0.6), col="grey10", lty="dotted")
请记住:
v
表示垂直线,h
表示水平线。
使用以下指令:
lty
表示虚线,color
表示浅色线条。
这样可以得到“无重型网格”的效果。
另一个选项是使用 axis 函数来绘制垂直和水平网格线:
x <- rnorm(100)
plot(x)
# Vertical grid
axis(1, tck = 1, lty = 2, col = "gray")
# Horizontal grid
axis(2, tck = 1, lty = 2, col = "gray")
# Only vertical grid
plot(x)
# Vertical grid
axis(1, tck = 1, lty = 2, col = "gray")
# Only horizontal grid
plot(x)
# Horizontal grid
axis(2, tck = 1, lty = 2, col = "gray")
本文创建于2022年8月20日,使用了reprex v2.0.2。
您可以使用at
参数指定网格线的位置。