Украшающая Санки / Аллювиальная визуализация с использованием R - PullRequest
0 голосов
/ 17 мая 2018

В настоящее время я использую аллювиальный пакет в R для создания визуализации.

Вот мой набор данных:

https://app.box.com/s/6qju42u0cg1cmrnhyhyzmjtp59wnsn3q

Вот мой код:

alluvial(fb_ad_3d[,2:3], freq=fb_ad_3d$freq,
         col = ifelse( fb_ad_3d$Response == "Yes", "skyblue1", 
                       "darkorchid1" ),xw = 0.2,alpha = 0.6,
                        gap.width=0.2,cex = 1.1, cex.axis = 1.5)

Вот визуализация:

enter image description here

Есть две вещи, которые мне действительно не нравятся:

  1. Зигзагообразные рисунки на краях соединителей потока

  2. Некоторые категории (Сельское хозяйство, События, Электроника, Телекоммуникации) на левой стороне были сжаты, что делает их неприемлемыми.

Есть ли способ улучшить эту визуализацию и сделать ее красивой?

1 Ответ

0 голосов
/ 17 мая 2018

Пробовал ggalluvial пакет. Результат намного лучше.

Вот код:

A_col <- "firebrick3"
B_col <- "darkorange"
C_col <- "deepskyblue3"
alpha <- 0.7

ggplot(fb_ad_3d,
       aes(weight = freq, axis1 = Category, axis2 = Response)) +
  geom_alluvium(aes(fill = Response, color = Response), 
                width = 1/12, alpha = alpha, knot.pos = 0.4) +
  geom_stratum(width = 1/6, color = "grey") +
  geom_label(stat = "stratum", label.strata = TRUE) +
  scale_x_continuous(breaks = 1:2, labels = c("Category", "Response"))     +
  scale_fill_manual(values  = c(A_col, B_col, C_col)) +
  scale_color_manual(values = c(A_col, B_col, C_col)) +
  ggtitle("Relevance of Facebook Custom List Advertising") +
  theme_minimal() +
  theme(
   axis.text.x = element_text(size = 12, face = "bold")
  )

Вот визуализация:

enter image description here

...