R语言如何层次树形图

前言

本篇是R语言voronoiTreemap包绘制层次树形图的教程。

什么是层次树形图?

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

绘图前的数据准备

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

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

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

# A tibble: 32 x 5
   h1    h2           color  size abbreviation
   <chr> <chr>        <chr> <dbl> <chr>       
 1 Asia  China        red   14.8  CN          
 2 Asia  Japan        red    5.91 JP          
 3 Asia  India        red    2.83 IN          
 4 Asia  South Korea  red    1.86 KR          
 5 Asia  Russia       red    1.8  RU          
 6 Asia  Indonesia    red    1.16 ID          
 7 Asia  Turkey       red    0.97 TR          
 8 Asia  Saudi Arabia red    0.87 SA          
 9 Asia  Iran         red    0.57 IR          
10 Asia  Thailand     red    0.53 TH          
# i 22 more rows

R语言如何绘制层次树形图

# 代码来源:https://www.r2omics.cn/
# voronoiTreemap包的安装方式为
# devtools::install_github("uRosConf/voronoiTreemap")
library(voronoiTreemap)

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

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

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