Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ggplot2: change strip.text position in facet_grid plot

Tags:

plot

r

ggplot2

you can set the position of the legend inside the plotting area, like

... + theme(legend.justification=c(1,0), legend.position=c(1,0))

Is there a similarly easy way to change the position of the strip text (or factor levels in grouped plots)

library(reshape2); library(ggplot2)

sp <- ggplot(tips, aes(x=total_bill, y=tip/total_bill)) + geom_point() +
  facet_grid(. ~ sex)

sp

enter image description here

(http://www.cookbook-r.com/Graphs/Facets_%28ggplot2%29/)

in lattice I would use something like strip.text = levels(dat$Y)[panel.number()] and panel.text(...), but there may be a cleaner way too...

thx, Christof

like image 848
ckluss Avatar asked Mar 18 '16 16:03

ckluss


1 Answers

A slight addition to @JasonAizkalns is to add the check_overlap = T option in geom_text, to avoid the superposition of multiple identical labels.

  ggplot(tips, aes(x = total_bill, y = tip / total_bill)) +
  geom_point() +
  facet_grid(. ~ sex) +
  geom_text(aes(label = sex), x = Inf, y = Inf, hjust = 1.5, vjust = 1.5, check_overlap = TRUE) +
  theme(
      strip.background = element_blank(),
            strip.text = element_blank()
  )
like image 109
L-P Dagallier Avatar answered Sep 22 '22 10:09

L-P Dagallier