Forgot to send to list Plus forgot to say that I appear to have no problems with script below Hi Luigi It is helpful to use a MWE - you had several errors in the script. try these (adapting fig 5.11 from Deepayan Sarkar's book data(SeatacWeather, package = "latticeExtra") str(SeatacWeather) MIN.X= 1 MAX.X = 31 MIN.Y = 15 MAX.Y = 70 LABELS <- paste("Well", 1:3) TEXT_FOR_AUTOKEY <- paste("Label", 1:3) xyplot(min.temp + max.temp ~ day | month, data = SeatacWeather, ylab = "Temperature and Rainfall", as.table = TRUE, type = "l", lty = 1, xlab="X", main="TITLE", scales = list( x = list(draw = FALSE), y = list(draw = FALSE), relation="same", alternating=TRUE), layout = c(3,1), par.settings = list( strip.background=list(col="white"), axis.text = list(cex = 0.6), par.xlab.text = list(cex = 0.75), par.ylab.text = list(cex = 0.75), par.main.text = list(cex = 0.8), superpose.symbol = list(pch = ".", cex = 1) ), strip = FALSE, col = 3, panel = function(x, y,...) { panel.xyplot(x,y,...) pnl = panel.number() panel.text(MIN.X+(0.1*MAX.X), MAX.Y-(0.1*MAX.Y), labels=LABELS[panel.number()], cex=0.3 ) } ) xyplot(min.temp + max.temp ~ day | month, data = SeatacWeather, ylab = "Temperature and Rainfall", as.table = TRUE, type = "l", lty = 1, xlab="X", main="TITLE", scales = list( x = list(draw = FALSE), y = list(draw = FALSE), relation="same", alternating=TRUE), layout = c(3,1), # auto.key= list(space = "centre"), par.settings = list( strip.background=list(col="white"), axis.text = list(cex = 0.6), par.xlab.text = list(cex = 0.75), par.ylab.text = list(cex = 0.75), par.main.text = list(cex = 0.8), superpose.symbol = list(pch = ".", cex = 1) ), strip = FALSE, col = c(4,2), key = list( text=list(TEXT_FOR_AUTOKEY, col="black"), space="top", columns=2, lines=list(col=c(4,2)) ## panel = panel.superpose #wrong place ; duplicated panel function anyway ), panel = function(x, y,...) { panel.xyplot(x,y,...) panel.text(MIN.X+(0.1*MAX.X), MAX.Y-(0.1*MAX.Y), labels=LABELS[panel.number()], cex=0.3, panel = panel.superpose ) } ) You cannot have key and auto.key If you want to have 2 keys/ legends see ?draw.key and legend argument lattice::xyplot https://stat.ethz.ch/pipermail/r-help/2005-February/066264.html an easier way for text is library(grid) xyplot(min.temp + max.temp ~ day | month, data = SeatacWeather, ylab = "Temperature and Rainfall", as.table = TRUE, type = "l", lty = 1, xlab="X", main="TITLE", scales = list( x = list(draw = FALSE), y = list(draw = FALSE), relation="same", alternating=TRUE), layout = c(3,1), par.settings = list( strip.background=list(col="white"), axis.text = list(cex = 0.6), par.xlab.text = list(cex = 0.75), par.ylab.text = list(cex = 0.75), par.main.text = list(cex = 0.8), superpose.symbol = list(pch = ".", cex = 1) ), strip = FALSE, col = 3, panel = function(x, y,...) { panel.xyplot(x,y,...) pnl = panel.number() # possibly needs some fine tuning grid.text(label=LABELS[panel.number()], x = unit(0.1, "npc"), y = unit(0.9, "npc"), gp = gpar(cex = 0.3)) } ) panel.number() used on its own can play up sometimes better to save the value and use it. If you are having problems start from the beginning with a minimal script eg xyplot(min.temp + max.temp ~ day, data = SeatacWeather, as.table = T, layout = ..., groups = ...) and build up from there. Its amazing what you find out. Duncan Duncan Mackay Department of Agronomy and Soil Science University of New England Armidale NSW 2351 Email: home: mackay at northnet.com.au -----Original Message----- From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Luigi Marongiu Sent: Tuesday, 21 July 2015 08:39 To: r-help Subject: [R] plot auto key and text into panels using lattice Dear all, I am writing some text into several panels which I can do with this script (in capital the variables): xyplot(Y ~ X | Z, data = DATAFRAME, groups = Z, ylab= "Y", xlab="X", main="TITLE", scales = list( x = list(draw = FALSE), y = list(draw = FALSE), relation="same", alternating=TRUE), as.table = TRUE, layout = LAYOUT, par.settings = list( strip.background=list(col="white"), axis.text = list(cex = 0.6), par.xlab.text = list(cex = 0.75), par.ylab.text = list(cex = 0.75), par.main.text = list(cex = 0.8), superpose.symbol = list(pch = ".", cex = 1) ), strip = FALSE, type = "l", col = 3, panel = function(x, y,...) { panel.xyplot(x,y,...) panel.text(MIN.X+(0.1*MAX.X), MAX.Y-(0.1*MAX.Y), labels=LABELS[panel.number()], cex=0.3 ) } ) A similar plot also add the autokey because it takes in account two different Y values, but the plot is not drawn rather the function is implemented but the plot remains empty: xyplot(Y1+Y2 ~ X | Z, data = DATAFRAME, ylab= "Y", xlab="X", main="TITLE", scales = list( x = list(draw = FALSE), y = list(draw = FALSE), relation="same", alternating=TRUE), as.table = TRUE, layout = LAYOUT, auto.key= list(space = "centre"), par.settings = list( strip.background=list(col="white"), axis.text = list(cex = 0.6), par.xlab.text = list(cex = 0.75), par.ylab.text = list(cex = 0.75), par.main.text = list(cex = 0.8), superpose.symbol = list(pch = ".", cex = 1) ), strip = FALSE, type = "l", col = c(4,2), key = list( space="top", columns=2, text=list(TEXT_FOR_AUTOKEY, col="black"), lines=list(col=c(4,2)), panel = panel.superpose ), panel = function(x, y,...) { panel.xyplot(x,y,...) panel.text(MIN.X+(0.1*MAX.X), MAX.Y-(0.1*MAX.Y), labels=LAB[panel.number()], cex=0.3, panel = panel.superpose ) } ) I am not attaching actual data because I believe the problem is in the actual call, maybe I am using twice panel.superimpose, although several combination I made (for instance moving the key argument into the panel function) did not solve the problem. Could you tell me where I am getting it wrong? Thank you. best regards Luigi ______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.