[R] muliple plots with pairs (matrix of scatter plots)
Uwe Ligges
ligges at statistik.uni-dortmund.de
Mon Dec 20 12:57:16 CET 2004
Tiago R Magalhaes wrote:
> I am trying to make a graph with 4 scatter matrixes plots and
> couldn't do it. While trying to find a solution for this I also came
> across the idea of giving different values to the same argument for
> each of the lower and upper function but couldn't do it. (Examplified
> below with the col argument). The first problem of plotting 4 scatter
> matrixes in a graph is a problem of real interest for me at this
> point. The second problem is a matter of curiosity.
>
> I am using a Mac PowerBook G4 with OS 10.3.7 and R 2.0.1
>
>
> Problem 1)
> x=data.frame(a=sample(1:100, 50), b=sample(1:100, 50),c=sample(1:100,
> 50),d=sample(1:100, 50))
> x.list=vector('list',4)
> for (j in 1:4) x.list[[j]]=x
>
> #produces a graph with four plots:
> layout(matrix(c(1,3,2,4),2,2))
> for (j in seq(x)){
> plot(x.list[[j]][1:2])
> }
>
> # But unfortunately the following produces a new plot everytime:
> layout(matrix(c(1,3,2,4),2,2))
> for (j in seq(x)){
> pairs(x.list[[j]])
> }
> #Maybe pairs can't be used to produce a graph with multiple plots?
Yes, it uses similar constructs to put multiple plots together.
You might want to use packages grid and gridBase to set something up
using viewports.
> Problem 2)
> I wanted to plot upper and lower panels with different colours. I
> tried what I thougth was obvious, giving the col argument inside of
> each function:
> pairs (x, lower.panel=points(x, col=2), upper.panel=points(x,
> col=3))# only the diagonal is plotted
> pairs (x, lower.panel=points(x), upper.panel=points(x)) #once again
> only the diagonal is plotted
> pairs (x, lower.panel=points, upper.panel=points) #both panels are
> plotted, actually, this is simlar to pairs(x)
>
> #Another little observation that I thought was strange:
> pairs(x, lower.panel=points(x), col=2)# colours the outside box red
> pairs(x, lower.panel=points(x), col=2, xaxt='n', yaxt='n')# does what I want
> pairs(x, lower.panel=points(x, col=2))# doesn't change the colour but
> works otherwise
You have to specify a function, e.g. an unnamed one such as
function(x, y) points(x, y, col=2)
rather than a function call such as just
points(x)
Hence we get:
pairs(x, lower.panel = function(x, y) points(x, y, col=2),
upper.panel = function(x, y) points(x, y, col=3))
Uwe Ligges
> Thank you very much for any comments and help
> [[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
More information about the R-help
mailing list