How do I put grid points (not grid lines) as the base layer of an xyplot? Is there a way to vary the interval at which x and y grid points are placed? Is it possible to start a graph so that Y axis begins at 500 and ends at 800? I am only interested in focusing on the relative distance between the points whose values are between 500 and 800, but not their relative distance from zero. Is there a way in R to draw two graphs so that that "share" the same X axis, but without the gap that mfrow() creates? The origin of the top graph should be where the Y-axis of the bottom graph ends. It will be useful for what I am trying to do to have the X axis of the top graph be invisible. Anupam.
Try this. gl(2,50) is such that the first 50 points are series 1 and the second 50 points are series 2. The scales= argument defines the positions of the tick marks and the xlim= argument defines the x axis limits. The layout puts the panels on top of each other rather than side by side. strip = FALSE eliminates the strip above each panel. type= says we want lines. The panel function puts points at the grid locations in each panel and then calls xyplot to plot the lines. library(lattice) library(grid) x <- 601:700 at <- seq(500, 800, 50) xyplot(x ~ x | gl(2, 50), scales = list(at = at), xlim = c(500, 700), layout = 1:2, strip = FALSE, type = "l", panel = function(...) { grid.points(at, unit(rep(.01, length(at)), "npc"), pch = 20, size = unit(.2, "char")) panel.xyplot(...) }) On 8/20/06, Anupam Tyagi <AnupTyagi at yahoo.com> wrote:> How do I put grid points (not grid lines) as the base layer of an xyplot? > > Is there a way to vary the interval at which x and y grid points are placed? > > Is it possible to start a graph so that Y axis begins at 500 and ends at 800? I > am only interested in focusing on the relative distance between the points whose > values are between 500 and 800, but not their relative distance from zero. > > Is there a way in R to draw two graphs so that that "share" the same X axis, but > without the gap that mfrow() creates? The origin of the top graph should be > where the Y-axis of the bottom graph ends. It will be useful for what I am > trying to do to have the X axis of the top graph be invisible. > > Anupam. > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >
Thanks. How do I retain the same scale of grid.points from one panel to next even if the scale of the data changes? For example: c(seq(601:700),seq(6510,7000, by=10)) ~ seq(601:700) | gl(2,50). --- Gabor Grothendieck <ggrothendieck at gmail.com> wrote:> Try this. gl(2,50) is such that the first 50 points > are series 1 > and the second 50 points are series 2. The scales> argument > defines the positions of the tick marks and the > xlim= argument > defines the x axis limits. The layout puts the > panels on top > of each other rather than side by side. strip > FALSE eliminates > the strip above each panel. type= says we want > lines. The > panel function puts points at the grid locations in > each panel > and then calls xyplot to plot the lines. > > library(lattice) > library(grid) > > x <- 601:700 > at <- seq(500, 800, 50) > xyplot(x ~ x | gl(2, 50), scales = list(at = at), > xlim = c(500, 700), > layout = 1:2, strip = FALSE, type = "l", > panel = function(...) { > grid.points(at, unit(rep(.01, length(at)), > "npc"), > pch = 20, size = unit(.2, "char")) > panel.xyplot(...) > }) > > > On 8/20/06, Anupam Tyagi <AnupTyagi at yahoo.com> > wrote: > > How do I put grid points (not grid lines) as the > base layer of an xyplot? > > > > Is there a way to vary the interval at which x and > y grid points are placed? > > > > Is it possible to start a graph so that Y axis > begins at 500 and ends at 800? I > > am only interested in focusing on the relative > distance between the points whose > > values are between 500 and 800, but not their > relative distance from zero. > > > > Is there a way in R to draw two graphs so that > that "share" the same X axis, but > > without the gap that mfrow() creates? The origin > of the top graph should be > > where the Y-axis of the bottom graph ends. It will > be useful for what I am > > trying to do to have the X axis of the top graph > be invisible. > > > > Anupam. > > > > ______________________________________________ > > R-help at stat.math.ethz.ch mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, > reproducible code. > > >