Dear R users.
I am wondering what is the simplest way is to generate individual keys for each panel in a lattice barchart?
The help pages said: "To use more than one legend, or to have arbitrary legends not constrained by the
structure imposed by key, use the legend argument", but after trying several iterations, I could not get it to work.
any help you could give would be great,
Regards,
Rebecca.
############# code to reproduce my graph #####################
my_subcat_data <-
structure(list(subcat = structure(c(9L, 6L, 1L, 3L, 11L, 5L,
12L, 10L, 2L, 4L, 7L, 8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L,
2L, 4L, 7L, 8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L,
8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L, 8L, 9L, 6L,
1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L, 8L), .Label = c("acidification",
"artesenal fishing", "bleaching", "commercial fishing", "destructive fishing",
"eutrophication", "ocean warming", "oil spill", "overfishing",
"recreational fishing", "sea level rise", "sedimentation"), class = "factor"),
threat = structure(c(1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L,
1L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L,
1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 2L,
2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 1L,
3L, 1L, 1L, 1L, 2L, 3L), class = "factor", .Label = c("fishing",
"global warming", "pollution")), percent = c(1, 1, 1, 1,
1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 2, 7, 6, 3,
8, 1, 1, 2, 2, 9, 4, 6, 9, 10, 2, 11, 8, 3, 1, 3, 5, 7),
decade = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L,
5L, 5L, 5L, 5L, 5L, 5L), .Label = c("1960 - 1970", "1970 - 1980",
"1980 - 1990", "1990 - 2000", "2000 - 2010"), class = "factor")), .Names = c("subcat",
"threat", "percent", "decade"), row.names = c(NA, -60L), class = "data.frame")
library(lattice)
subcat.plot=barchart(decade ~ percent | threat, data = my_subcat_data,
groups=subcat,
subscripts=TRUE,
stack=TRUE,
xlab=list("Percent of coral reef papers (%)",cex=1.3,font=2),
xlim=c(0,50),
ylab="",
auto.key = list(points = FALSE, rectangles = TRUE, space = "right"),
box.ratio = 2,
as.table=TRUE,
strip=strip.custom(bg="white",par.strip.text=list(font=2,cex=0.9)),
layout = c(1,length(levels(my_subcat_data$threat))),
scales=list(alternating=FALSE, cex=1,font=2,tck = c(1, 0)))
subcat.plot
------------------------------------------------------------
Dr Rebecca Fisher
Quantitative Ecologist
Australian Institute of Marine Science
Alternate email:rfisher at aims.gov.au
------------------------------------------------------------
Enjoy a better web experience. Upgrade to the new Internet Explorer 8 optimised for Yahoo!7. Get it now.
generate individual panel keys/legends in lattice barchart
2 messages · Rebecca Fisher, Deepayan Sarkar
5 days later
On Thu, Apr 23, 2009 at 1:23 AM, Rebecca Fisher
<rebecca_fisher76 at yahoo.com.au> wrote:
Dear R users. I am wondering what is the simplest way is to generate individual keys for each panel in a lattice barchart? The help pages said: "To use more than one legend, or to have arbitrary legends not constrained by the structure imposed by key, use the legend argument", but after trying several iterations, I could not get it to work. any help you could give would be great,
Write a custom panel function, and call draw.key() inside. See the code for Figure 12.1 in http://lmdvr.r-forge.r-project.org/figures/figures.html for an example you can modify. -Deepayan
Regards,
Rebecca.
############# code to reproduce my graph #####################
my_subcat_data <-
structure(list(subcat = structure(c(9L, 6L, 1L, 3L, 11L, 5L,
12L, 10L, 2L, 4L, 7L, 8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L,
2L, 4L, 7L, 8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L,
8L, 9L, 6L, 1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L, 8L, 9L, 6L,
1L, 3L, 11L, 5L, 12L, 10L, 2L, 4L, 7L, 8L), .Label = c("acidification",
"artesenal fishing", "bleaching", "commercial fishing", "destructive fishing",
"eutrophication", "ocean warming", "oil spill", "overfishing",
"recreational fishing", "sea level rise", "sedimentation"), class = "factor"),
? ?threat = structure(c(1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L,
? ?1L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L,
? ?1L, 3L, 2L, 2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 2L,
? ?2L, 2L, 1L, 3L, 1L, 1L, 1L, 2L, 3L, 1L, 3L, 2L, 2L, 2L, 1L,
? ?3L, 1L, 1L, 1L, 2L, 3L), class = "factor", .Label = c("fishing",
? ?"global warming", "pollution")), percent = c(1, 1, 1, 1,
? ?1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1,
? ?1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 4, 5, 2, 7, 6, 3,
? ?8, 1, 1, 2, 2, 9, 4, 6, 9, 10, 2, 11, 8, 3, 1, 3, 5, 7),
? ?decade = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
? ?1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
? ?3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L,
? ?4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L,
? ?5L, 5L, 5L, 5L, 5L, 5L), .Label = c("1960 - 1970", "1970 - 1980",
? ?"1980 - 1990", "1990 - 2000", "2000 - 2010"), class = "factor")), .Names = c("subcat",
"threat", "percent", "decade"), row.names = c(NA, -60L), class = "data.frame")
library(lattice)
subcat.plot=barchart(decade ~ percent | threat, data = my_subcat_data,
groups=subcat,
subscripts=TRUE,
stack=TRUE,
xlab=list("Percent of coral reef papers (%)",cex=1.3,font=2),
xlim=c(0,50),
ylab="",
auto.key = list(points = FALSE, rectangles = TRUE, space = "right"),
box.ratio = 2,
as.table=TRUE,
strip=strip.custom(bg="white",par.strip.text=list(font=2,cex=0.9)),
layout = c(1,length(levels(my_subcat_data$threat))),
scales=list(alternating=FALSE, cex=1,font=2,tck = c(1, 0)))
subcat.plot
?------------------------------------------------------------
Dr Rebecca Fisher
Quantitative Ecologist
Australian Institute of Marine Science
Alternate email:rfisher at aims.gov.au
------------------------------------------------------------
? ? ?Enjoy a better web experience. Upgrade to the new Internet Explorer 8 optimised for Yahoo!7. Get it now.
______________________________________________ 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.