label_bquote () не работает с огранкой столбца в ggplot2 - PullRequest
1 голос
/ 02 апреля 2019

Несмотря на то, что мне удалось заставить label_bquote() работать с geom_raster() при обработке граней в строки, это, по-видимому, не работает при обработке граней в столбцах. Вот воспроизводимый пример, где растры огранены в строки, что дает правильный вывод:

library(ggplot2)
d = expand.grid(
   X = c(1, 2, 3),
   Y = c(1, 2, 3),
   Z = c(1, 2, 3)
)

set.seed(123)
d$A = runif(27)

p = ggplot(
   data = d
) +
   geom_raster(
      mapping = aes(
         x = X,
         y = Y,
         fill = A
      )
   ) + facet_grid(
      Z ~ .,
      labeller = label_bquote(
         "Z Value ="~ .(Z)
       )
   )

Вывод соответствует ожидаемому:

Correct graphic

Однако, если формула facet_grid() изменена для отображения столбцов вместо строк:

) + facet_grid(
          . ~ Z,
          labeller = label_bquote(
             "Z Value ="~ .(Z)
           )
       )

Тогда маркировка в кавычках игнорируется, и используется только проанализированная маркировка:

Incorrect graphic

Что вызывает это, пожалуйста?

РЕДАКТИРОВАТЬ: Я должен был добавить: я использую ggplot2 версии 3.1.0 из CRAN.

1 Ответ

1 голос
/ 20 мая 2019

Я сообщил об этом как об ошибке, но, видимо, это не так ... см. эту проблему .

label_bquote () имеет аргументы и row, и cols!Вам нужно будет указать, какой именно он должен работать с facet_grid ().

Или в руководстве ggplot2 :

label_bquote(rows = NULL, cols = NULL, default)
...