Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

I need to add boarder to the strip in facet_wrap

I am going to provide my code below. there is my plot and at the sample plot i need to recreate. I don’t know how to add exactly same grey thick borders.

Current plot

Desired

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

ggplot(data = melted_df, aes(sample = value, color = Distribution)) +
  stat_qq() +
  geom_qq_line() +
  facet_wrap(~Distribution, scales = "free") + xlab('Theoretical Quantiles') + 
  ylab('Sample Quantiles') + 
  ggtitle('QQ Plot for Different Distributions against Qnorm!') + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), plot.title = element_text(size = 11),
        panel.background = element_rect(fill = "white"), legend.background=element_rect(fill = "lightgray"),
        legend.key = element_rect(fill = "lightgray"),
        axis.ticks.x = element_blank(),
        axis.ticks.y = element_blank(),
        legend.box.background = element_rect(color = "gray45", fill = NA, size=3),
        panel.border = element_rect(color = "gray45",fill = NA, size = 2), 
        strip.text = element_text(size = 10))

>Solution :

You are looking for strip.background. As the docs state:

strip.background background of facet labels (element_rect(); inherits from rect).

In your case to match your other borders you can set it to element_rect(color = "gray45",fill = "grey90", size = 2)

Here’s an example with the iris dataset:

ggplot(iris, aes(sample = Sepal.Length, color = Species)) +
     stat_qq() +
  geom_qq_line() + 
  facet_wrap(~Species, scales = "free") + xlab('Theoretical Quantiles') + 
  ylab('Sample Quantiles') + 
  ggtitle('QQ Plot for Different Distributions against Qnorm!') + 
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(), plot.title = element_text(size = 11),
        panel.background = element_rect(fill = "white"), legend.background=element_rect(fill = "lightgray"),
        legend.key = element_rect(fill = "lightgray"),
        axis.ticks.x = element_blank(),
        axis.ticks.y = element_blank(),
        legend.box.background = element_rect(color = "gray45", fill = NA, size=3),
        panel.border = element_rect(color = "gray45",fill = NA, size = 2), 
        strip.text = element_text(size = 10),
        legend.position  = "bottom", # I prefer the legend at the bottom
        strip.background = element_rect(color = "gray45",fill = "grey90", size = 2)
        # ^^ the line above is the only thing you need to add
    )  

enter image description here

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading