R语言如何绘制多边形树状图(18)

1.什么是多边形树状图?

多边形树状图,它是一种利用嵌套式多边形显示层次结构的方法,同时通过面积大小显示每个类别的数量大小。

多边形树状图采用多边形表示层次结构里的节点,父子节点之间的层次关系用多边形之间的相互嵌套隐喻来表达。每个类别会被分配一个多边形区域,而其子类别则由嵌套在其中的小多边形代表。当不同类别分配不同数量时,这些多边形的面积大小会与数量成正比显示。

此外,主类别的面积大小是其所有子类别的总和。如果没有数量分配给子类别,那么其面积则是主类别的总面积除以子类别的数目。因此多边形树状图是一种紧凑而且节省空间的层次结构显示方式,能够直观体现同级类别之间的比较。

本文我们就来讨论一下多边形树状图是如何绘制的以及如何对其进行解读。

2.绘图前的数据准备

​ demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/treemap/1.txt下载。

数据包含5列信息。其中第1列和第2列是必须要有的。

第1列h1是第1个层次的类别;第二列h2是第2个层次的名称;第3列是颜色,用来指定该多边形的颜色;第4列是数值,代表该多边形的面积大小;第5列是缩写,显示在图中的文字标签。

image-20220117154523943

3. R语言怎么画多边形树状图

# voronoiTreemap包的安装方式为
# devtools::install_github("uRosConf/voronoiTreemap")
library(voronoiTreemap)

# 读取多边形树状图数据文件
df= read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/treemap/2.txt")# 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件

# 生成层次结构
data_int = vt_input_from_df(df, 
                            hierachyVar0 = "h1",     # 定义哪列是第1个层次
                            hierachyVar1 = "h2",     # 定义哪列是第2个层次
                            hierachyVar2 = "h3",     # 定义哪列是第3个层次
                            colorVar = "color",      # 定义每个多边形的颜色
                            weightVar = "size",      # 定义每个多边形的大小
                            labelVar = "abbreviation"# 定义每个多边形的缩写标签
)

# 绘图
vt_d3(vt_export_json(data_int),
     legend= T, # 是否显示图例
     label = T  # 是否显示文字标签
)

4. BioLadder生信云平台在线绘制多边形树状图

不想写代码?可以用BioLadder生信云平台在线绘制多边形树状图。

网址:https://www.bioladder.cn/web/#/chart/31

image-20220117160956765

5. 多边形树状图结果解读

image-20220117172922385

多边形树状图把具有层次关系的数据可视化为一组嵌套的多边形,所有多边形的面积之和代表了整体的大小,各个小多边形的面积表示每个子数据的占比大小。所以多边形面积越大,表示子数据在整体中的占比越大。

多边形树状图的好处在于,相比传统的树形结构图,多边形树状图能更有效地利用空间,并且拥有展示占比的功能。多边形树状图的缺点在于,当分类占比太小的时候,文本会变得很难排布。相比分叉树形图,多边形树状图的树形数据结构表达得不够直观、明确。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值