Il metodo update
dei grafici trellis
consente di modificare un grafico lattice
dopo la chiamata iniziale. Ma il comportamento update
è più simile a sostituire di append. Questo differisce dall'idioma ggplot2
in cui ogni nuovo livello è additivo a ciò che già esiste. È possibile ottenere questo comportamento additivo usando lattice
?È possibile aggiornare un pannello reticolare in R?
Un esempio:
LL <- barchart(yield ~ variety | site, data = barley,
groups = year, stack = TRUE,
between=list(y=0.5),
scales = list(x = list(rot = 90)))
print(LL)
Ora voglio aggiungere panel.text
alla trama esistente. Utilizzando update
nel modo seguente non funziona:
update(LL, panel=function(...){
args <- list(...); panel.text(args$x, args$y+2, round(args$y, 0))
})
So che posso usare update
specificando tutti i livelli nella funzione del pannello:
update(LL, panel=function(...){
args <- list(...)
panel.barchart(...)
panel.text(args$x, args$y+2, round(args$y, 0))
})
Questa volontà lavoro, ma richiede che io conosca ciò che è già nella trama lattice
- o che io rappresenti il mio codice in modo abbastanza sostanziale.
Domanda: C'è un modo per aggiungere al pannello esistente in update.trellis
?
+1 per un suggerimento utile – Andrie
C'è una bella [pagina di introduzione latticeExtra] (http (e per fissare il mancante 90 nel mio codice!): //latticeextra.r-forge.r -project.org). – Marek
Interessante a parte: se carichi anche 'ggplot2' nella stessa sessione, la funzione' ggplot 'layer' nasconderà il' reticolo 'del reticolo. Quindi ho bisogno di chiamare questa funzione come 'LL + latticeExtra :: layer (...)' – Andrie