El método update
de trellis
parcelas permite modificar un diagrama de lattice
después de la llamada inicial. Pero el comportamiento update
es más parecido a reemplazar que anexar. Esto difiere del idioma ggplot2
donde cada nueva capa es aditiva a lo que ya existe. ¿Es posible obtener este comportamiento aditivo usando lattice
?¿Es posible actualizar un panel de celosía en R?
Un ejemplo:
LL <- barchart(yield ~ variety | site, data = barley,
groups = year, stack = TRUE,
between=list(y=0.5),
scales = list(x = list(rot = 90)))
print(LL)
Ahora quiero añadir panel.text
a la trama existente. Usando update
de la siguiente manera no funciona:
update(LL, panel=function(...){
args <- list(...); panel.text(args$x, args$y+2, round(args$y, 0))
})
Sé que puedo usar update
especificando todas las capas de la función del panel:
update(LL, panel=function(...){
args <- list(...)
panel.barchart(...)
panel.text(args$x, args$y+2, round(args$y, 0))
})
Esta voluntad trabajo, pero requiere que sepa lo que ya está en el diagrama lattice
, o que refactorice mi código de manera bastante sustancial.
Pregunta: ¿Hay alguna manera de agregar al panel existente en update.trellis
?
+1 para un consejo útil – Andrie
No es agradable [página latticeExtra introducción] (http (y para la fijación de los 90 desaparecidos en mi código!): //latticeextra.r-forge.r -project.org). – Marek
Interesante a un lado: si también cargas 'ggplot2' en la misma sesión, la función ggplot' layer' ocultará la 'capa' reticular. Así que necesito llamar a esta función como 'LL + latticeExtra :: layer (...)' – Andrie