диаграммы Treemap с ggplots и treemapify - PullRequest
1 голос
/ 10 ноября 2019

У меня есть простой фрейм данных, который я хочу визуализировать с помощью древовидной карты. Я сделал, используя ggplot и treemapify. Кажется, все в порядке, но мне интересно, как я могу отобразить переменные имени и лаборатории внутри древовидной карты, не отображая один в качестве метки и один в легенде.

Вот пример фиктивного кода и моя попытка:

 library(ggplot2)
 library(treemapify)

 data <-
   data.frame(
     name = c("Group A", "Group B", "Group C", "Group D"),
     value = c(8, 22, 66, 4),
     lab = c("8%", "22%", "66%", "4%")
   ) %>%
   mutate(lab = as.factor(lab))



 ggplot(data, aes(area = value, fill = lab,  label = name)) +
   geom_treemap() +
   geom_treemap_text(
     colour = "white",
     place = "centre",
     size = 15,
   ) +
   scale_fill_brewer(palette = "Greens")

График древовидной карты: enter image description here

Я пытаюсь получить график, подобныйэтот пример enter image description here

1 Ответ

1 голос
/ 10 ноября 2019

Вы можете объединить лабораторию и название и указать его в качестве метки внутри aes:

ggplot(data, 
aes(area = value, fill = lab,label = paste(name,lab,sep="\n"))) +
   geom_treemap() +
   geom_treemap_text(
     colour = "white",
     place = "centre",
     size = 15)+
   scale_fill_brewer(palette = "Greens")

Если вы хотите указать порядок палитры, например, темный зеленый цвет достигает 66%, укажитеуровни лаборатории в данных, например:

data$lab = factor(data$lab,levels=c("4%", "8%", "22%", "66%"))
# and plot

enter image description here

...