[R] lattice barchart() with two variables

Rich Shepard r@hep@rd @end|ng |rom @pp|-eco@y@@com
Wed Aug 22 18:17:26 CEST 2018


On Wed, 22 Aug 2018, Bert Gunter wrote:

> No reproducible example (see posting guide below) so minimal help.

Hi Bert,

   I thought the header and six data rows of the dataframe plus the syntax of
the command I used were sufficient. Regardless, here's the dput() output:

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


> Remove the quotes from your formula. Why did you think they should be
> there? -- see ?formula.

   A prior attempt seemed to suggest the strings needed to be quoted.

> Read the relevant portions of ?xyplot carefully (again?). You seemed to
> have missed:

   I'm trying to create a barchart, not an xyplot.

> y <- runif(5)
> x <- factor(letters[1:5])
> barchart(y~x)

   Okay. I see one error in my command that's fixed here:

barchart(stage_heights$Med ~ stage_heights$Year, horizontal=FALSE)

> As for fiddling with the colors and patterns of the bars -- generally a bad
> idea , especially fill patterns, btw -- see the "col" argument of
> ?panel.barchart, which is always where you should look for such info (i.e.
> panel.whatever). I don't know whether you can fool with fill patterns* --
> it may depend on your graphics device -- but you can google around or see
> what trellis.par.get() has available (which can be specified in the
> "par.settings" argument list in the call).

   I need pairs of bars, one each for Med and Max for each year. Color or
pattern would distinguish the two.

> * For why fooling with fill patterns is a bad idea, google "moiré patterns".

   I did not think that a solid fill or striped fill would create a moire
pattern on either a computer screen viewing a .pdf file or on the printed
page.

   Correcting the barchard() command fixed the main issue; getting the second
set of bars is still eluding me, but I'll continue working on fixing this.
I'll get the years as the x-axis labels rather than year number in sequence
from 1 to 29.

Thanks,

Rich




More information about the R-help mailing list