Christopher W. Ryan
2024-Sep-13 15:58 UTC
[R] how to specify point symbols in the key on a lattice dotplot
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 at 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 at 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.
>>
Bert Gunter
2024-Sep-13 17:45 UTC
[R] how to specify point symbols in the key on a lattice dotplot
"Why does key = list(points = 16:17) not work? "
Because, from the "key" section of ?xyplot
" The contents of the key are determined by (possibly repeated)
components named "rectangles", "lines", "points"
or "text". Each of
these must be **lists** with relevant graphical parameters (see later)
controlling their appearance."
Ergo, try:
dd |> dotplot( segment ~ transit_time, groups = impact, data = .,
pch = 16:17,
cex = 1.8,
scales = list(cex = 1.4),
key = list(points = list(pch =16:17) ))
Cheers,
Bert
On Fri, Sep 13, 2024 at 9:53?AM Christopher W. Ryan
<cwr at agencystatistical.com> wrote:>
>
> 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 at 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 at 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.
> >>
>
> ______________________________________________
> R-help at 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.