[R] Lattice: How to color the data points in splom() according to the panel they are plotted?
Marius Hofert
m_hofert at web.de
Fri Jan 15 16:01:42 CET 2010
Dear ExpeRts,
I have the scatter plot matrix as given below. I would like the different "sub-plots" in the scatter plot matrix to be colored differently. How do I get all points shown in the upper-left plot (on position (1,1) in the scatter plot matrix) to be plotted in blue, and the points shown in the plot to the right (on position (1,2) in the scatter plot matrix) to be plotted in red? More generally, how can I provide a matrix of colors to be used by splom() such that all data points in the corresponding sub-plot of the scatter plot matrix are shown in the specified color?
Cheers,
Marius
Here is the code:
library(lattice)
entrymat=matrix(0,nrow=3,ncol=3)
entrymat[1,2]="black"
entrymat[1,3]="blue"
entrymat[2,3]="red"
entrymat=t(entrymat)
splom(~iris[,1:3],superpanel=function(z,...){
mymat.df=data.frame(rows=as.vector(row(entrymat)),cols=as.vector(col(entrymat)),entries=as.vector(entrymat))
mymat.df=subset(mymat.df,cols<rows)
with(mymat.df,{
panel.text(x=rows,y=cols,labels=entries)
})
panel.pairs(z,upper.panel=panel.splom,lower.panel=function(...){},...)
},varnames=c("1","2","3")
)
More information about the R-help
mailing list