On Oct 3, 2009, at 7:05 PM, Sebastian P. Luque wrote:
> Hi,
>
> I thought the following would only remove the legend element of a
> trellis object, but it actually removes both the legend and key
> elements:
>
> ---<--------------------cut here---------------
> start------------------->---
> fig <- xyplot(Sepal.Length ~ Petal.Length, groups=Species, data=iris,
> key=list(x=1, y=0.02, corner=c(1, 0), size=3, between=1,
> text=list(levels(iris$Species))),
> legend=list(inside=list(fun="draw.key", x=0, y=1,
> corner=c(0, 1),
> args=list(key=list(text=list("a)",
> cex=1.5)),
> draw=FALSE))))
> update(fig, legend=NULL)
> ---<--------------------cut here---------------
> end--------------------->---
>
> Is this the right way to remove an element from the object, using
> update.trellis()? Thanks.
>
It probably depends on the element. In the case of "key", it is a
descendant of the legend list so when you make legend NULL you are
wiping out all of its descendants as well:
> str(fig)
List of 43
snipped a few lines
$ legend :List of 2
..$ inside:List of 5
.. ..$ fun : chr "draw.key"
.. ..$ args :List of 2
.. .. ..$ key :List of 6
.. .. .. ..$ x : num 1
.. .. .. ..$ y : num 0.02
.. .. .. ..$ corner : num [1:2] 1 0
.. .. .. ..$ size : num 3
.. .. .. ..$ between: num 1
.. .. .. ..$ text :List of 1
.. .. .. .. ..$ : chr [1:3] "setosa" "versicolor"
"virginica"
.. .. ..$ draw: logi FALSE
.. ..$ x : num 1
.. ..$ y : num 0.02
.. ..$ corner: num [1:2] 1 0
..$ inside:List of 5
.. ..$ fun : chr "draw.key"
.. ..$ x : num 0
.. ..$ y : num 1
.. ..$ corner: num [1:2] 0 1
.. ..$ args :List of 2
.. .. ..$ key :List of 1
.. .. .. ..$ text:List of 2
.. .. .. .. ..$ : chr "a)"
.. .. .. .. ..$ cex: num 1.5
.. .. ..$ draw: logi FALSE
>
> Cheers,
>
> --
> Seb
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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.