Обложка канала

R4marketing | канал Алексея Селезнёва | Язык R

Автор канала Алексей Селезнёв, руководитель отдела аналитики в Netpeak, автор R пакетов: ryandexdirect, rfacebookstat и др. В канале публикуются статьи, доклады, новости, заметки по языку R.

R4marketing | канал Алексея Селезнёва | Язык R

4 года назад
Открыть в
​​Как исправить перекрывающие друг друга текстовые метки в ggplot2 Пакет ggrepel позволяет вам избежать перекрытия текстовых меток на графиках при работе с ggplot2. При использовании слоёв ggrepl тестовые метки отталкиваются друг от друга, от точек данных и от краев области построения. Пакет предоставляет вам дополнительно 2 слоя: ● geom_text_repel() - распределяет текстовые метки так, что бы они не накладывались друг на друга, и не выходили за пределы графика. ● geom_label_repel() - помещает текстовые метки в прямоугольники, повышая их читаемость, и следит за их расположением аналогично geom_text_repel(). Следующий пример хорошо иллюстрирует разницу между обычным geom_text() и geom_text_repel().
 
library(ggrepel)
set.seed(42)

dat <- subset(mtcars, wt > 2.75 & wt < 3.45)
dat$car <- rownames(dat)

p <- ggplot(dat, aes(wt, mpg, label = car)) +
  geom_point(color = "red")

p1 <- p + geom_text() + labs(title = "geom_text()")

p2 <- p + geom_text_repel() + labs(title = "geom_text_repel()")

gridExtra::grid.arrange(p1, p2, ncol = 2)
Предоставляемые пакетом ggrepel слои под капотом основаны на встроенных в ggplot2 geom_text и geom_label. Но были доработаны таким образом, что бы при изменении масштаба графика, положение меток так же изменялось. Ссылки: - пример кода взят из официальной документации ggrepel Смотрите другие посты по теме: - Обращаемся к ggplot2 на естественном языке - Как добавить ярлыки данных в ggplot2 #заметки_по_R