Dan Bolser
2007-Jun-20 09:20 UTC
[R] Retrieve part of (top right corner) of a "plot.data.frame" plot?
Hi, I believe this question has been asked before, but I cant find and don't remember the answer. The problem is simple, calling 'plot.data.frame(x)' gives a nice 'matrix of scatterplots' for each pair of columns in x. for example; x <- data.frame(a=jitter(01:20), b=jitter(20:01), c=jitter(21:40), d=jitter(rep(01,20)), e=jitter(rep(10,20)), f=jitter(rep(20,20)) ) plot(x) gives a 6 by 6 grid of scatter plots, two (upper right and lower left) for each pair of columns in x. (I am going over these basics so that you can understand what I mean next). I would like to see just part of the above result, namely the nine plots in the top right of the given plot, or; a vs. d | a vs. e | a vs. f b vs. d | b vs. e | b vs. f c vs. d | c vs. e | c vs. f I tried a number of ways to do this, but I can't find either the right formula or the right function to get what I want. Any suggestions you can give (especially any not involving the source code of 'pairs') are most welcome. Dan. [[alternative HTML version deleted]]
Sébastien
2007-Jun-20 11:13 UTC
[R] Retrieve part of (top right corner) of a "plot.data.frame" plot?
Hi, That is maybe not the most elegant way but you can hide some plots regions by add a white polygon, eg: polygon(x=c(1,1,0,...),y=c(0,1,0,...),col=0,xpd=xpd) Just a personnal question, can you modify the content of the "title" boxes without changing the names of the variables, e.g. "myParameter" instead of "a"? Dan Bolser a ?crit :> Hi, > > I believe this question has been asked before, but I cant find and don't > remember the answer. > > The problem is simple, calling 'plot.data.frame(x)' gives a nice 'matrix of > scatterplots' for each pair of columns in x. for example; > > x <- > data.frame(a=jitter(01:20), > b=jitter(20:01), > c=jitter(21:40), > d=jitter(rep(01,20)), > e=jitter(rep(10,20)), > f=jitter(rep(20,20)) > ) > > plot(x) > > gives a 6 by 6 grid of scatter plots, two (upper right and lower left) for > each pair of columns in x. (I am going over these basics so that you can > understand what I mean next). > > I would like to see just part of the above result, namely the nine plots in > the top right of the given plot, or; > > a vs. d | a vs. e | a vs. f > b vs. d | b vs. e | b vs. f > c vs. d | c vs. e | c vs. f > > I tried a number of ways to do this, but I can't find either the right > formula or the right function to get what I want. > > Any suggestions you can give (especially any not involving the source code > of 'pairs') are most welcome. > > Dan. > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > > >
Deepayan Sarkar
2007-Jun-20 21:31 UTC
[R] Retrieve part of (top right corner) of a "plot.data.frame" plot?
On 6/20/07, Dan Bolser <dan.bolser.r at googlemail.com> wrote:> Hi, > > I believe this question has been asked before, but I cant find and don't > remember the answer. > > The problem is simple, calling 'plot.data.frame(x)' gives a nice 'matrix of > scatterplots' for each pair of columns in x. for example; > > x <- > data.frame(a=jitter(01:20), > b=jitter(20:01), > c=jitter(21:40), > d=jitter(rep(01,20)), > e=jitter(rep(10,20)), > f=jitter(rep(20,20)) > ) > > plot(x) > > gives a 6 by 6 grid of scatter plots, two (upper right and lower left) for > each pair of columns in x. (I am going over these basics so that you can > understand what I mean next). > > I would like to see just part of the above result, namely the nine plots in > the top right of the given plot, or; > > a vs. d | a vs. e | a vs. f > b vs. d | b vs. e | b vs. f > c vs. d | c vs. e | c vs. f > > I tried a number of ways to do this, but I can't find either the right > formula or the right function to get what I want. > > Any suggestions you can give (especially any not involving the source code > of 'pairs') are most welcome.Lattice gets you close: xyplot(a + b + c ~ d + e + f, data = x, outer = TRUE, scales = "free", layout = c(3, 3), aspect = 1) The rest may or may not be simple, depending on what you want exactly. -Deepayan