Вертикально центрирующая многострочная, частично выделенная курсивом метка полосы в facet_grid - PullRequest
1 голос
/ 01 мая 2019

Я хочу, чтобы текст полосы вдоль вертикальной оси в facet_grid() в ggplot2 был таким, чтобы

  • текст читается горизонтально (т. Е. angle = 0),
  • текст состоит из нескольких строк, а
  • часть текста выделена курсивом

Однако, когда я использую labeller = label_parsed, очевидно, что последняя строка текста полоски центрируется по вертикали, а весь текст полоски не корректно позиционируется.

set.seed(1)
d <- data.frame(
  x = rnorm(20),
  y = rnorm(20),
  f1 = rep(letters[1:2], each = 10),
  f2 = rep(letters[1:2], 10)
)
levels(d$f2) <- c(
  "a" = expression(paste("short label")),
  "b" = expression(paste("Long and\npartly italicized\nlabel over\nmultiple", italic("lines")))
)
ggplot(d, aes(x, y)) +
  geom_point() +
  facet_grid(f2 ~ f1, scale = "free_y", labeller = label_parsed) +
  theme(strip.text.y = element_text(angle = 0)) 

Problematic position of strip label

Есть ли способ это исправить? Я думал об использовании vjust, но он без необходимости корректирует другую метку («короткую метку» выше).

...