# 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语言如何绘制矩形树状图
前言
此篇是R语言treemap包绘制矩形树状图的教程。
什么是矩形树状图?
矩形树形图是一种用于展示层次关系数据的可视化方式。
它将数据以矩形的形式呈现,并通过树形结构将不同数据项之间的关联展现出来。
这种图表可以帮助人们更直观地理解数据之间的联系和组织结构,适用于各种领域的数据分析和展示。
绘图前的数据准备
demo数据可以在https://www.r2omics.cn/res/demodata/treemap2.txt下载。
在此示例数据汇总,parent和id列用于构建树状结构(以有多个列名,用于构建树状结构),value用来映射矩形大小和颜色。
R语言如何绘制矩形树状图
# 代码来源:https://www.r2omics.cn/
# 加载包
library(tidyverse)
library(RColorBrewer)
library(treemap)
# 读取数据
= read.delim("https://www.r2omics.cn/res/demodata/treemap2.txt")
df
# 绘图
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
参数确定。