R语言如何绘制矩形树状图

前言

此篇是R语言treemap包绘制矩形树状图的教程。

什么是矩形树状图

矩形树形图是一种用于展示层次关系数据的可视化方式。

它将数据以矩形的形式呈现,并通过树形结构将不同数据项之间的关联展现出来。

这种图表可以帮助人们更直观地理解数据之间的联系和组织结构,适用于各种领域的数据分析和展示。

绘图前的数据准备

​demo数据可以在https://www.r2omics.cn/res/demodata/treemap2.txt下载。

在此示例数据汇总,parent和id列用于构建树状结构(以有多个列名,用于构建树状结构),value用来映射矩形大小和颜色。

# A tibble: 57 x 3
   id     value parent
   <chr>  <int> <chr> 
 1 Name1     62 group1
 2 Name2  25941 group1
 3 Name3  23524 group1
 4 Name4  12512 group1
 5 Name5     90 group1
 6 Name6   7642 group1
 7 Name7   1646 group1
 8 Name8   1973 group1
 9 Name9   4665 group1
10 Name10  1561 group1
# i 47 more rows

R语言如何绘制矩形树状图

# 代码来源:https://www.r2omics.cn/
# 加载包
library(tidyverse)
library(RColorBrewer)
library(treemap)

# 读取数据
df = read.delim("https://www.r2omics.cn/res/demodata/treemap2.txt")

# 绘图
treemap(df,
        index=c("parent", "id"),# 用于指定聚合索引的列名向量,可以有多个列名,用于构建树状结构。第一个列名为最高级别的聚合,第二个为第二高级别,依此类推。
        vSize="value",          # 指定矩形大小的列名
        type="index",           # 颜色类型,一般用两种index根据层次绘制颜色,value根据vColor映射颜色
        vColor="value",         # 指定矩形颜色的列名
        border.lwds=c(2,0.1),   # 边框粗细,有几层就写几个
        fontcolor.labels=c('white',"grey10"),  # 文字标记颜色
        title="",
        align.labels = list(c("center", "center"), c("left", "top")), # 文字标记位置
        fontsize.labels=c(12, 9),  # 文字标记大小
        palette="Set2"             # 调色板
)

Treemap(树状图)是一种用于可视化层次结构数据的空间填充图表。该函数提供了绘制树状图的高度灵活性。需要准备一个包含一个或多个层次索引列(由index指定)、一个确定矩形区域大小的列(vSize),以及可选的一个确定矩形颜色的列(vColor)的数据框(data.frame)。矩形的着色方式由type参数确定。