I would like to have a border around the outside of my faceted plot but not have the lines that separate the panels inside the plot. The issue is that panel.border draws a border around each panel in the facet with no option to just have a border around the entire plot. Alternatively can you set the inside dividing lines to 'white' but keep the outside border 'black'.
Here is my code:
mtcars
mtcars$manufacturer=rownames(mtcars)
ggplot(mtcars, aes(x=manufacturer, y=mpg,fill=factor(gear,levels=c("3","4","5"))))+
geom_bar(stat="identity",position="dodge",colour="black")+
facet_grid(~cyl,scales = "free_x",space = "free_x",) +
theme(axis.text.x = element_text(angle = 45,size=12,colour="Black",vjust=1,hjust=1),
strip.background = element_blank(),
strip.placement = "inside",
strip.text = element_text(size=15),
legend.position=c(0.9,0.8),
legend.title=element_blank(),
legend.text=element_text(size=15),
panel.spacing = unit(0.2, "lines"),
panel.background=element_rect(fill="white"),
panel.border=element_rect(colour="black",size=1),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
Result: Faceted plot with inside borders
Desired output (edited in paint): Faceted plot without inside lines
My actual data plot that I want to remove the inside lines from looks like this:
Two options for consideration, both making use of a secondary axis to simulate the panel border on the right side. Use option 2 if you want to do away with the facet box outlines on top as well.
Option 1:
(I'm leaving the legend in the default position as it's not critical here.)
Option 2 is a modification of option 1, with facet outline removed & a horizontal line added to simulate the top border. Y-axis limits are set explicitly to match the height of this border:
Sample data used:
(For the record, I don't think
facet_grid
/facet_wrap
were intended for such use cases...)