Я хочу, чтобы текст полосы вдоль вертикальной оси в 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))
Есть ли способ это исправить? Я думал об использовании vjust
, но он без необходимости корректирует другую метку («короткую метку» выше).