首页 > 解决方案 > 带有 ggplots 和 treemapify 的图表 Treemap

问题描述

我有一个简单的数据框,我想用树图进行可视化。我已经使用ggplotand 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")

树形图: 在此处输入图像描述

我试图有一个像这个例子一样的图表 在此处输入图像描述

标签: rggplot2treemap

解决方案


您可以连接实验室和名称,并将其指定为 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

在此处输入图像描述


推荐阅读