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?
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()