Hello,
Given the following plot, which shows following data:
a <- c(8.976000, 8.976000, 8.856000, 8.856000, 8.756000, 8.756000,
8.771000, 8.751000, 8.856000, 8.856000, 16.812000, 16.800000, 8.845000,
9.032000, 8.706000, 9.636000, 9.032000, 16.802000, 8.726000, 8.779000,
8.779000, 8.856000, 8.856000, 8.534000, 8.534000, 8.764000, 8.646000,
8.856000, 8.856000, 13.081000, 10.760000, 8.600000, 8.627000, 8.543000,
8.762000, 8.627000, 10.146000, 8.547000, 8.518000, 8.518000, 8.856000,
8.856000, 8.454000, 8.454000, 8.499000, 8.488000, 8.856000, 8.856000,
11.567000, 10.772000, 8.506000, 8.395000, 8.426000, 8.582000, 8.395000,
10.144000, 8.407000 ,11.801051, 11.055339, 9.708079, 9.175891,
11.216250, 10.219728, 10.075000, 7.859582, 11.470972, 9.162232,
10.395510, 10.886422, 11.201043, 11.316806, 9.806960)
dat <- data.frame(number=rep(2:9,1,each=9),
algo=rep(c("one","two","three"),8,each=3),
distance=rep(c("d1","d2","d3"),24), value=a)
print(xyplot( value ~ number | algo , data=dat, groups=distance,
type="l",
auto.key = list(space = "top", points = FALSE, lines
TRUE, cex=1.4),
layout=c(length(unique(c(dat$algo)))+1,1),
ylab="value", xlab="number", scales =
list(cex=1.2)
))
# I will add some grid lines ("ablines") to this plot. To add such
lines, I must add a panel.grid as argument in the xyplot function and
also panel.xyplot function. The following code visualise this, but now
the lines are not allocated in the right way. I have played around with
the panel.groups argument of panel.superpose, but without success.
print(xyplot( value ~ number | algo , data=dat, groups=distance,
type="l",
auto.key = list(space = "top", points = FALSE, lines
TRUE, cex=1.4),
layout=c(length(unique(c(dat$algo)))+1,1),
panel = function(x, y) {
panel.grid(h=-1, v=-1)
panel.xyplot(x, y, type="l")
panel.superpose(x,y,groups=dat[,"distance"],subscripts=1:dim(dat)[1],pan
el.groups="panel.xyplot", cex=0.7,fontfamily="sans")
},
ylab="value", xlab="number", scales =
list(cex=1.2)
))
Can anybody give me a hint, please?
Best regards,
Matthias
On 4/12/06, TEMPL Matthias <Matthias.Templ at statistik.gv.at> wrote:> Hello, > > Given the following plot, which shows following data: > > a <- c(8.976000, 8.976000, 8.856000, 8.856000, 8.756000, 8.756000, > 8.771000, 8.751000, 8.856000, 8.856000, 16.812000, 16.800000, 8.845000, > 9.032000, 8.706000, 9.636000, 9.032000, 16.802000, 8.726000, 8.779000, > 8.779000, 8.856000, 8.856000, 8.534000, 8.534000, 8.764000, 8.646000, > 8.856000, 8.856000, 13.081000, 10.760000, 8.600000, 8.627000, 8.543000, > 8.762000, 8.627000, 10.146000, 8.547000, 8.518000, 8.518000, 8.856000, > 8.856000, 8.454000, 8.454000, 8.499000, 8.488000, 8.856000, 8.856000, > 11.567000, 10.772000, 8.506000, 8.395000, 8.426000, 8.582000, 8.395000, > 10.144000, 8.407000 ,11.801051, 11.055339, 9.708079, 9.175891, > 11.216250, 10.219728, 10.075000, 7.859582, 11.470972, 9.162232, > 10.395510, 10.886422, 11.201043, 11.316806, 9.806960) > > > dat <- data.frame(number=rep(2:9,1,each=9), > algo=rep(c("one","two","three"),8,each=3), > distance=rep(c("d1","d2","d3"),24), value=a) > > > print(xyplot( value ~ number | algo , data=dat, groups=distance, > type="l", > auto.key = list(space = "top", points = FALSE, lines > TRUE, cex=1.4), > layout=c(length(unique(c(dat$algo)))+1,1), > ylab="value", xlab="number", scales = list(cex=1.2) > )) > > # I will add some grid lines ("ablines") to this plot. To add such > lines, I must add a panel.grid as argument in the xyplot function and > also panel.xyplot function. The following code visualise this, but now > the lines are not allocated in the right way. I have played around with > the panel.groups argument of panel.superpose, but without success.Does type = c("g", "l") do what you want? (It may not if your lattice is old, but you haven't told us your version.) Deepayan
Yes, now it works perfect. Sorry, I was really blind for a couple of hours. Thank you! Matthias On 4/12/06, TEMPL Matthias <Matthias.Templ at statistik.gv.at> wrote:> Hello, > > Given the following plot, which shows following data: > > a <- c(8.976000, 8.976000, 8.856000, 8.856000, 8.756000, 8.756000, > 8.771000, 8.751000, 8.856000, 8.856000, 16.812000, 16.800000,8.845000,> 9.032000, 8.706000, 9.636000, 9.032000, 16.802000, 8.726000, 8.779000, > 8.779000, 8.856000, 8.856000, 8.534000, 8.534000, 8.764000, 8.646000, > 8.856000, 8.856000, 13.081000, 10.760000, 8.600000, 8.627000,8.543000,> 8.762000, 8.627000, 10.146000, 8.547000, 8.518000, 8.518000, 8.856000, > 8.856000, 8.454000, 8.454000, 8.499000, 8.488000, 8.856000, 8.856000, > 11.567000, 10.772000, 8.506000, 8.395000, 8.426000, 8.582000,8.395000,> 10.144000, 8.407000 ,11.801051, 11.055339, 9.708079, 9.175891, > 11.216250, 10.219728, 10.075000, 7.859582, 11.470972, 9.162232, > 10.395510, 10.886422, 11.201043, 11.316806, 9.806960) > > > dat <- data.frame(number=rep(2:9,1,each=9), > algo=rep(c("one","two","three"),8,each=3), > distance=rep(c("d1","d2","d3"),24), value=a) > > > print(xyplot( value ~ number | algo , data=dat, groups=distance, > type="l", > auto.key = list(space = "top", points = FALSE, lines > TRUE, cex=1.4), > layout=c(length(unique(c(dat$algo)))+1,1), > ylab="value", xlab="number", scales = list(cex=1.2) > )) > > # I will add some grid lines ("ablines") to this plot. To add such > lines, I must add a panel.grid as argument in the xyplot function and > also panel.xyplot function. The following code visualise this, butnow> the lines are not allocated in the right way. I have played aroundwith> the panel.groups argument of panel.superpose, but without success.Does type = c("g", "l") do what you want? (It may not if your lattice is old, but you haven't told us your version.) Deepayan