[R] how to specify point symbols in the key on a lattice dotplot

Christopher W. Ryan cwr @end|ng |rom @gency@t@t|@t|c@|@com
Fri Sep 13 17:58:50 CEST 2024


dd %>% dotplot( segment ~ transit_time, groups = impact,  data = .,
               pch = 16:17,
               cex = 1.8,
               scales = list(cex = 1.4),
               key = list(points = 16:17) )

produces a graph with no discernible key, but with an asterisk at the
top, above the plotting region.

Same result from 

dd %>% dotplot( segment ~ transit_time, groups = impact,  data = .,
               pch = 16:17,
               cex = 1.8,
               scales = list(cex = 1.4),
               key = list(points = 16:17),
               auto.key = TRUE )




dd %>% dotplot( segment ~ transit_time, groups = impact,  data = .,
               scales = list(cex = 1.4),
               par.settings = simpleTheme(pch = 16:17, cex = 1.8),
               auto.key = TRUE) 

produces the desired result.

Why does key = list(points = 16:17)  not work?  Below is a MWE:

================================

library(lattice)
library(dplyr)
dd <- structure(list(impact = structure(c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 
2L), levels = c("impaction", "no impaction"), class = "factor"), 
    segment = structure(c(4L, 2L, 1L, 3L, 4L, 2L, 1L, 3L), levels =
c("left", "right", "rectosigmoid", "total"), class = c("ordered",
"factor" )), transit_time = c(70, 10, 20, 32, 42, 10, 12, 18)), class =
"data.frame", row.names = c(NA, -8L))

dd %>% dotplot( segment ~ transit_time, groups = impact,  data = .,
               pch = 16:17,
               cex = 1.8,
               scales = list(cex = 1.4),
               key = list(points = 16:17) )

=================================


Thanks.

--Chris Ryan
-- 
Agency Statistical Consulting, LLC
Helping those in public service get the most from their data.
www.agencystatistical.com

Public GnuPG email encryption key at
https://keys.openpgp.org
9E53101D261BEC070CFF1A0DC8BC50E715A672A0


On Fri, 13 Sep 2024 08:29:20 +0100, CALUM POLWART wrote:

>Add:
>
>key = list(points=16:17)
>
>Into the dotplot section possibly without the autokey
>
>On Fri, 13 Sep 2024, 08:19 Christopher W. Ryan,
><cwr using agencystatistical.com> wrote:
>
>> I am making a dotplot with lattice, as follows:
>>
>> dd %>% dotplot( segment ~ transit_time, groups = impact,  data = .,
>>                as.table = TRUE,
>>                 pch = 16:17,
>>                 cex = 1.8,
>>                 scales = list(cex = 1.4),
>>                auto.key = TRUE)
>>
>> impact is a factor with two levels.
>>
>> They key shows 2 open circles, one of each color of my two
>> plotting symbols, one for each group. I would like the
>> symbols in the key to match the plotting characters in the graph: 16
>> (filled circle) for one group and 17 (filled triangle) for the second
>> group.  How would I do that? I have not had any success with
>> supplying arguments to auto.key, simpleKey, or key. Guess I'm not
>> understanding the syntax.
>>
>> Thanks.
>>
>> --Chris Ryan
>>
>> --
>> Agency Statistical Consulting, LLC
>> Helping those in public service get the most from their data.
>> www.agencystatistical.com
>>
>> Public GnuPG email encryption key at
>> https://keys.openpgp.org
>> 9E53101D261BEC070CFF1A0DC8BC50E715A672A0
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> https://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>



More information about the R-help mailing list