Добавьте блоки с описательными аннотациями к оси Y в ggplot2 - PullRequest
2 голосов
/ 28 мая 2020

Я пытаюсь добавить еще одну метку или описание к моей оси Y. Я прикрепил картинку для справки о том, что я пытаюсь выполнить sh. Я не могу найти ничего, что описывает, как добавить дополнительные элементы к Это поля "Хорошо" и "Плохо" рядом с осью Y, которые я пытаюсь включить в свой график ggplot. Спасибо!

введите описание изображения здесь

1 Ответ

2 голосов
/ 28 мая 2020

Один из способов добиться этого - использовать patchwork. Вы можете настроить аннотации оси Y как второй график ggplot и приклеить его к основному графику, используя patchwork. Попробуйте следующее:

library(ggplot2)
library(patchwork)
library(dplyr)

p1 <- tibble(x = 1:10, y = 1:10) %>% 
  ggplot(aes(x, y)) +
  geom_point() +
  scale_y_reverse(breaks = seq(1, 10)) +
  labs(y = NULL)

p2 <- tibble(ymin = c(0, 4), ymax = c(4, 10), fill = c("bad", "good")) %>% 
  ggplot() +
  geom_rect(aes(xmin = 0, xmax = 1, ymin = ymin, ymax = ymax, fill = fill)) +
  geom_text(aes(x = .5, y = (ymin  + ymax) / 2, label = fill), angle = 90) +
  scale_y_reverse(breaks = seq(1, 10), expand = expansion(mult = c(0, 0))) +
  scale_x_continuous(breaks = c(0), expand = expansion(mult = c(0, 0))) +
  guides(fill = FALSE) +
  theme_void()

p2 + p1 + plot_layout(widths = c(1, 9))

Создано 28 мая 2020 года пакетом REPEX (v0.3.0)

...