[R] update'ing trellis object

David Winsemius dwinsemius at comcast.net
Mon Oct 5 03:25:32 CEST 2009


On Oct 4, 2009, at 7:23 PM, David Winsemius wrote:

> I wonder if you noticed that you had managed to create a "fig"  
> object that has two "inside" lists by specifying first a key "list"  
> which required a legend list, and then specifying a "legend" list  
> that also had a key function? The solution to your specific request  
> by Kortschak "nulled-out" the second of those.

A rather confused reply, I am afraid. I misattributed Lugue's posting  
to Kortschak. Lugeue obviously was aware of the structure of the fig  
object, since he correctly addressed the problem he originally posed.

-- 
David.

>
> -- 
> David
>
> On Oct 3, 2009, at 10:35 PM, David Winsemius wrote:
>
>>
>> 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.
>>
>> ______________________________________________
>> 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.
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>

David Winsemius, MD
Heritage Laboratories
West Hartford, CT




More information about the R-help mailing list