Grouped horizontal boxplot with bwplot

bwplot, lattice, r

Solution

If it's not critical that you use `bwplot`, you may try `ggplot`:

ggplot(data = mpg, aes(x = class, y = hwy, fill = factor(year))) +
  geom_boxplot() +
  coord_flip() +
  scale_fill_grey(start = 0.5, end = 0.8) +
  theme_classic()

Problem

I have the following code that allows grouped vertical box-plots via the `bwplot` function in `lattice`. Reproducible example.. ``` data(mpg, package = "ggplot2") bwplot( hwy~class, data = mpg, groups = year, pch = "|", box.width = 1/3, auto.key = list(points = FALSE, rectangles = TRUE, space = "right"), panel = panel.superpose, panel.groups = function(x, y, ..., group.number) { panel.bwplot(x + (group.number-1.5)/3, y, ...) }) ``` This works fine, but I would like the boxplots to be horizontal, so I changed the first line, keeping everything else equal: ``` bwplot( class~hwy, data = mpg, groups = year, ... ``` But the graph comes out like this . I have tried playing around with the code without success. I have 2 questions: Firstly, how can I, or is it possible to have the boxplots not superimposed on each other? And secondly and more generally, how can I set the color panel to grayscale, so the plot come out in shades of gray or just black and white?

Original source