开发者

Grid in an R plot

Is开发者_StackOverflow中文版 there a command to easily add a grid onto an R plot?


The grid command seems to draw grid lines where-ever it feels like. I usually use abline to put lines exactly where I want them. For example,

abline(v=(seq(0,100,25)), col="lightgray", lty="dotted")
abline(h=(seq(0,100,25)), col="lightgray", lty="dotted")

Good luck!


See help(grid) which works with standard graphics -- short example:

R> set.seed(42)
R> plot(cumsum(rnorm(100)), type='l')
R> grid()

The ggplot2 package defaults to showing grids due to its 'Grammar of Graphics' philosophy. And lattice has a function panel.grid() you can use in custom panel functions.

By the way, there are search functions for help as e.g. help.search("something") and there is an entire package called sos to make R web searches more fruitful.


If you are not using a custom tick interval, you can control the grid and axes parameters directly from the plot() command:

plot(cumsum(rnorm(100)), type='l', panel.first=grid())

The plot.default() documentation provides more information about these parameters.


I agree with cbare. Use abline to draw lines only where you really need.

Example from my last code:

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

remember that:

v is for vertical lines. h for horizontal.

exploit the commands

lty for dotted line color for light coloured line

in order to obtain "no heavy grid".


Another option is using the axis function for vertical and horizontal grid lines:

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

Grid in an R plot

# Only vertical grid
plot(x)
# Vertical grid
axis(1, tck = 1, lty = 2, col = "gray")

Grid in an R plot

# Only horizontal grid
plot(x)
# Horizontal grid  
axis(2, tck = 1, lty = 2, col = "gray")

Grid in an R plot

Created on 2022-08-20 with reprex v2.0.2

You can specify the position of the grid lines using the at argument.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜