Всем привет!
Надеюсь сейчас опишу довольно частую ситуацию.
Для начала загрузим пакеты
library(ggplot2)
set.seed(42)
Вот, есть у вас красивый набор точек:
ggplot(mtcars) +
geom_point(aes(wt, mpg), color = 'red')+
theme_classic(base_size = 16)
Хорошо, но не информативно. Давайте к этому графику — добавим подписи точек (изменения от предыдущего куска скрипта — жирный курсив):
ggplot(mtcars) +
geom_point(aes(wt, mpg), color = 'red') +
geom_text(aes(wt, mpg, label = rownames(mtcars))) +
theme_classic(base_size = 16)
Ну, вот она — та самая КАША ! От того, что мы добавили подписи к данным — они понятней не стали, а картинка стала ужасной, грязной и неаккуратной.
Теперь самое главное. Буквально вчера в репозитории CRAN появился по настоящему магический пакет, который творит настоящую магию. Я целиком все его возможности и параметры еще не изучал — но, то что видно с первого взгляда внушает как минимум надежду. На самом деле — уже пару рабочих проектов удалось украсить 🙂
Собственно — сам пакет:
library(ggrepel)
И теперь его работа:
ggplot(mtcars) +
geom_point(aes(wt, mpg),size=3) +
geom_label_repel(
aes(wt, mpg, fill = factor(cyl), label = rownames(mtcars)),
color = 'white',
box.padding = unit(0.45, "lines"),
label.padding = unit(0.08, "lines")
) +
theme_classic(base_size = 16)
Резюме — этот пакет достоен занять место рядом с ggplot2 и поддерживать его своими возможностями !
ggplot2. Варим «кашу» из подписей: 4 комментария
День добрый! Пакет, наверное, стоящий. Но то, что получилось в примере мне не сильно по душе.
Весть визуальный акцент сместился с точек на якрие лейблы, из-за которых с трудом воспринимаются сами точки и их распределение.
В любом случае, огромное спасибо за новый пакетик 😉
Хотел скорей рассказать о нем. Наверняка-настроек и параметров функций в нем очень много, так что наверняка можно будет очень тонко и точно настроить под конкретный проект. А итог-кусок из вигнета проекта, способ сразу все возможности показать 🙂 Да и не одна функция в пакете…
Отличный пакет! Простая замена geom_text(…) на geom_text_repel(…) сразу делает любую иллюстрацию лучше.
Ну так, о чем я и говорю 🙂