使用 ggplots 和 treemapify 绘制树状图
charts Treemap with ggplots and treemapify
我有一个简单的数据框,我想用树状图对其进行可视化。我已经使用 ggplot
和 treemapify
。看起来不错,但我想知道如何在树形图中同时显示 name 和 lab 变量而不显示一个作为标签和一个在 legend 中。
这是虚拟样本和我的尝试:
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")
树状图:
我正在尝试制作类似此示例的图表
您可以将实验室和名称连接起来,并将其指定为 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
我有一个简单的数据框,我想用树状图对其进行可视化。我已经使用 ggplot
和 treemapify
。看起来不错,但我想知道如何在树形图中同时显示 name 和 lab 变量而不显示一个作为标签和一个在 legend 中。
这是虚拟样本和我的尝试:
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")
树状图:
我正在尝试制作类似此示例的图表
您可以将实验室和名称连接起来,并将其指定为 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