【R语言】--- 桑基图

2023-06-22  本文已影响0人  生态数据

基本简介

桑基图(Sankey diagram) 是用于描述一组值到另一组值流向的图表,可以查看数据的变化情况。主要应用于能源、零售、金融、自媒体等数据的可视化分析。在R语言中,桑基图主要用到的是networkD3包。

示例代码

#networkD3包绘制桑基图
#安装需要的R包
#处理数据
#install.packages("dplyr")
#绘制桑基图
#install.packages("networkD3")

#调用需要的R包
library(dplyr)
library(networkD3)
#产生数据集
#设置种子
set.seed(1234)
#构建数据集
data <- data.frame(
  AA = paste0("AA_",1:5) %>% sample(100, replace = TRUE),
  BB = paste0("BB_", 1:10) %>% sample(100, replace = TRUE),
  Value = runif(100, 1, 10))
#查看前15行
head(data, 15)
#转化为因子
data <- data %>% mutate_if(is.character, as.factor)
str(data)
nodes <- data.frame(node = c(data$AA, data$BB)) %>% unique()
data$ID_AA <- match(data$AA, nodes$node) - 1
data$ID_BB <- match(data$BB, nodes$node) - 1
#查看数据
head(data)
#作图
sankeyNetwork(Links = data, Nodes = nodes, 
              Source = "ID_AA", Target = "ID_BB", Value = "Value",
              NodeID = "node",
              fontSize= 18, nodeWidth = 30)

参考文献

[1] https://www.modb.pro/db/509252
[2] https://zhuanlan.zhihu.com/p/482446403

上一篇下一篇

猜你喜欢

热点阅读