Как исправить перекрывающие друг друга текстовые метки в ggp | R4marketing | канал Алексея Селезнёва | Язык R
Как исправить перекрывающие друг друга текстовые метки в 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