ggplot2. Варим «кашу» из подписей

Опубликовано Опубликовано в рубрике Интересное, Основная, Рецепты

Всем привет!
Надеюсь сейчас опишу довольно частую ситуацию.
Для начала загрузим пакеты

library(ggplot2)
set.seed(42)

Вот, есть у вас красивый набор точек:

ggplot(mtcars) +
geom_point(aes(wt, mpg), color = 'red')+
theme_classic(base_size = 16)

repel1

Хорошо, но не информативно. Давайте к этому графику — добавим подписи точек (изменения от предыдущего куска скрипта — жирный курсив):

ggplot(mtcars) +
geom_point(aes(wt, mpg), color = 'red') +
geom_text(aes(wt, mpg, label = rownames(mtcars))) +
theme_classic(base_size = 16)

repel2
Ну, вот она — та самая КАША ! От того, что мы добавили подписи к данным — они понятней не стали, а картинка стала ужасной, грязной и неаккуратной.

Теперь самое главное. Буквально вчера в репозитории 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)

repel3

Резюме — этот пакет достоен занять место рядом с ggplot2 и поддерживать его своими возможностями !

ggplot2. Варим «кашу» из подписей: 4 комментария

  1. День добрый! Пакет, наверное, стоящий. Но то, что получилось в примере мне не сильно по душе.
    Весть визуальный акцент сместился с точек на якрие лейблы, из-за которых с трудом воспринимаются сами точки и их распределение.
    В любом случае, огромное спасибо за новый пакетик 😉

    1. Хотел скорей рассказать о нем. Наверняка-настроек и параметров функций в нем очень много, так что наверняка можно будет очень тонко и точно настроить под конкретный проект. А итог-кусок из вигнета проекта, способ сразу все возможности показать 🙂 Да и не одна функция в пакете…

Добавить комментарий