[R] lattice barchart() with two variables

Rich Shepard r@hep@rd @end|ng |rom @pp|-eco@y@@com
Fri Aug 24 21:37:59 CEST 2018


On Wed, 22 Aug 2018, Rich Shepard wrote:

>  More when I have results.

   Almost there. I've read the auto.key section in ?barchart and looked at
examples from stackoverflow on the web without seeing my syntax errors. I
would like help on two issues:

   1. What I want is to have the legend text in black and the colored
rectangles match the black and grey of the bars. Instead, I get the legend
text colored and have no idea where the default colors in the rectangles got
there.

   2. I've not found how to have the years (rather than the sequence of
years) as the x-axis labels.

   Here are the dput() output and the script:

structure(list(year = c(1989L, 1989L, 1990L, 1990L, 1991L, 1991L, 
1993L, 1993L, 1994L, 1994L, 1995L, 1995L, 1996L, 1996L, 1997L, 
1997L, 1998L, 1998L, 1999L, 1999L, 2000L, 2000L, 2001L, 2001L, 
2002L, 2002L, 2003L, 2003L, 2004L, 2004L, 2005L, 2005L, 2006L, 
2006L, 2007L, 2007L, 2008L, 2008L, 2009L, 2009L, 2010L, 2010L, 
2011L, 2011L, 2012L, 2012L, 2013L, 2013L, 2014L, 2014L, 2015L, 
2015L, 2016L, 2016L, 2017L, 2017L, 2018L, 2018L), value = c(91.17, 
93.32, 91.22, 93.43, 91.24, 92.89, 91.14, 93.02, 93.92, 95.74, 
94.34, 96.85, 91.32, 95.86, 91.36, 94.25, 91.24, 93.67, 94.33, 
97.42, 94.33, 97.42, 94, 94.99, 94.32, 96.58, 94.02, 96.57, 94.19, 
96.32, 94.05, 95.96, 94.21, 97.4, 94.21, 97.28, 94.32, 96.72, 
94.13, 97.43, 94.27, 95.95, 94.34, 97.82, 94.23, 97, 94.25, 96.6, 
94.15, 96.24, 94.01, 96.68, 94.09, 96.96, 94.31, 96.39, 94.35, 
96.95), type = structure(c(2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 
1L), .Label = c("Max", "Med"), class = "factor")), class = "data.frame", row.names = c(NA, 
-58L))

med_max <- barchart(value ~ year, data=stage_heights,
                     panel = lattice.getOption("panel.barchart"),
                     default.prepanel = lattice.getOption("prepanel.default.barchart"),
                     box.ratio = 2, horizontal=FALSE, auto.key=list(space='right',
                                                                    col=c('black', 'grey')),
                     groups=factor(type,labels=c('Median','Maximum')), beside=TRUE,
                     col = c('grey','black'), labels=list(c(1989,1990,1991,1992, 1993,1994,
                                                            1995,1996,1997,1998,1999,2000,2001,
                                                            2002,2003,2004,2005,2006,2007,2008,
                                                            2009,2010,2011,2012,2013,2014,2015,
                                                            2016,2017,2018),
                                                          scales=list(x=list(rot=90)),
                                                          main = 'Median and Maximum Stage Heights',
                                                          ylab = 'Elevation (masl)', xlab = 'Year')
print(med_max)

Rich




More information about the R-help mailing list