树型图

作者

[编辑] 郑虎;

[审核] .

注记

Hiplot 网站

本页面为 Hiplot Treemap 插件的源码版本教程,您也可以使用 Hiplot 网站实现无代码绘图,更多信息请查看以下链接:

https://hiplot.cn/basic/treemap?lang=zh_cn

树形图是一种用图形形式来表示层次结构的树形结构图。

环境配置

  • 系统: Cross-platform (Linux/MacOS/Windows)

  • 编程语言: R

  • 依赖包: data.table; jsonlite; treemap

# 安装包
if (!requireNamespace("data.table", quietly = TRUE)) {
  install.packages("data.table")
}
if (!requireNamespace("jsonlite", quietly = TRUE)) {
  install.packages("jsonlite")
}
if (!requireNamespace("treemap", quietly = TRUE)) {
  install.packages("treemap")
}

# 加载包
library(data.table)
library(jsonlite)
library(treemap)

数据准备

载入数据为不同分组及其数据。

# 加载数据
data <- data.table::fread(jsonlite::read_json("https://hiplot.cn/ui/basic/treemap/data.json")$exampleData$textarea[[1]])
data <- as.data.frame(data)

# 查看数据
head(data)
   group value
1 Group1    13
2 Group2    34
3 Group3    21
4 Group4    43

可视化

# 树型图
treemap(data, index = colnames(data)[1], vSize = colnames(data)[2],
        vColor = colnames(data)[1], type = "index", title = "", 
        algorithm = "pivotSize", sortID = colnames(data)[1], border.lwds = 1,
        fontcolor.labels = "#000000", inflate.labels = F, overlap.labels = 0.5,
        fontfamily.title = "Arial", fontfamily.legend = "Arial",
        fontfamily.labels = "Arial", 
        palette = c("#E64B35FF","#4DBBD5FF","#00A087FF","#3C5488FF","#F39B7FFF"), 
        aspRatio = 6 / 6)
图 1: 树型图

不同颜色表示不同组群 ,不同面积表示数据及占比。