adicionar texto ou legenda em barchart

Caros Colegas, Gostaria de adicionar o seguinte texto "a)" em um gráfico barchart. Esse texto deve ficar acima do grafico do lado esquerdo. Entretanto, qdo insiro o comando no codigo do barchart #legend=list(top=list(fun=textGrob("a)"), x=0, just="left", gp=gpar(cex=0.8))) a legenda atual "1-Nov, 1-Dec, 31-Dec" que está acima some. Segue abaixo o codigo que estou utilizando: #----------início---------------------------------------------- library(lattice) library(grid) T1 <- expand.grid(modelo=rep(c("A", "B", "C", "D", "E"),12)) T2 <- expand.grid (data = rep(c(rep(c("1-Nov"),5),rep(c("1-Dec"),5), rep(c("31-Dec"),5)),4)) T3 <- c(rep(c("X1"),15), rep(c("X2"),15),rep(c("X3"),15),rep(c("X4"),15)) T4 <- rnorm(60, mean=10, sd=5) teste <- cbind(T1,T2,T3,T4) teste$data <- factor(teste$data, levels = c("1-Nov","1-Dec","31-Dec" )) teste$modelo = factor(teste$modelo, levels = c("A", "B", "C", "D", "E")) teste$T3 <- factor(teste$T3, levels = c("X1","X2","X3","X4" )) barchart (modelo ~ teste$T4 |teste$T3 , data = teste, xlab = "XXXXX",ylab = " XXXXX", groups = teste$data, auto.key = list( space="top", columns = 3, points = FALSE, rectangles = TRUE, cex=0.8, size=1.4, adj=1,between=0.2, between.colums=0.1),col=gray.colors(3)[1:3], box.ratio = 1.5,aspect=0.6, layout=c(1,4),par.settings = list(superpose.polygon = list(col =gray.colors(3)),fontsize=list(text=9)), par.strip.text=list(cex=0.9),scales = list(x = list(tick.number = 6)), strip=strip.custom(bg="gray95",factor.levels=c("X1","X2","X3","X4")), panel=function(x, y, ...) { panel.barchart(x, y, ...) panel.abline(v=(9.8), col="gray60", lty=2) }) #----------------fim---------------------------------------------------------------------------- Atenciosamente, Alexandre

Alexandre, A solução que estou postando é uma remediação, uma gambiarra. Depois eu vou procurar uma solução digna. Passei a string com excesso de espaços para o argumento title= da auto.key=, veja barchart (modelo ~ teste$T4 |teste$T3 , data = teste, xlab = "XXXXX",ylab = " XXXXX", groups = teste$data, auto.key=list(title="a) ", space="top", columns = 3, points = FALSE, rectangles = TRUE, cex=0.8, size=1.4, adj=1, between=0.2, between.colums=0.1), #legend=list(top=list(fun=textGrob("a)"), x=0, just="left", gp=gpar(cex=0.8))), col=gray.colors(3)[1:3], box.ratio = 1.5, aspect=0.6, layout=c(1,4), par.settings = list( superpose.polygon =list(col =gray.colors(3)), fontsize=list(text=9)), par.strip.text=list(cex=0.9), scales = list(x = list(tick.number = 6)), strip=strip.custom(bg="gray95",factor.levels=c("X1","X2","X3","X4")), panel=function(x, y, ...){ panel.barchart(x, y, ...) panel.abline(v=(9.8), col="gray60", lty=2) }) À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Alexandre, Você pode usar trellis.focus() para escrever em regiões gráficas, veja como fica a solução agora barchart(modelo~T4|T3 , data=teste, xlab="XXXXX", ylab="XXXXX", groups=data, auto.key=list(space="top", columns=3, points=FALSE, rectangles=TRUE, cex=0.8, size=1.4, adj=1, between=0.2, between.colums=0.1), col=gray.colors(3)[1:3], box.ratio=1.5, aspect=0.6, layout=c(1,4), par.settings=list( superpose.polygon=list(col=gray.colors(3)), fontsize=list(text=9)), par.strip.text=list(cex=0.9), scales=list(x=list(tick.number=6)), strip=strip.custom(bg="gray95", factor.levels=c("X1","X2","X3","X4")), panel=function(x, y, ...){ panel.barchart(x, y, ...) panel.abline(v=(9.8), col="gray60", lty=2) }) trellis.focus("page") panel.text(0,1,"a)", adj=c(0,2)) trellis.unfocus() Quando você passa um data.frame para o argumento data=, a lattice entende que os nomes na formula Y~X|Z e em groups= são colunas do data.frame, então você não precisa ficar usando $. À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
participantes (2)
-
Alexandre Heinemann
-
Walmes Zeviani