13.23 网络图
gephi 探索和可视化网络图 GraphViz
# library(igraph)
13.23.1 networkD3
networkD3 D3 非常适合绘制网络图,如网络、树状、桑基图
library(networkD3)
data(MisLinks, MisNodes) # 加载数据
head(MisLinks) # 边
## source target value
## 1 1 0 1
## 2 2 0 8
## 3 3 0 10
## 4 3 2 6
## 5 4 0 1
## 6 5 0 1
head(MisNodes) # 节点
## name group size
## 1 Myriel 1 15
## 2 Napoleon 1 20
## 3 Mlle.Baptistine 1 23
## 4 Mme.Magloire 1 30
## 5 CountessdeLo 1 11
## 6 Geborand 1 9
构造网络图
forceNetwork(
Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 0.4
)
13.23.2 visNetwork
visNetwork 使用 vis-network.js 库绘制网络关系图 https://datastorm-open.github.io/visNetwork
library(visNetwork)
调用函数 visTree()
可视化分类模型结果
library(rpart)
library(sparkline) # 函数 visTree 需要导入 sparkline 包
<- rpart(Species~., data=iris)
res visTree(res, main = "鸢尾花分类树", width = "100%")
节点、边的属性都可以映射数据指标
13.23.3 r2d3
D3 是非常流行的 JavaScript 库,r2d3 提供了 R 接口
library(r2d3)
更加具体的使用介绍,一个复杂的案例,如何从简单配置过来,以条形图为例, D3 是一个相当强大且成熟的库,提供的案例功能要覆盖 plotly
r2d3 提供了两个样例 JS 库 baranims.js
和 barchart.js
list.files(system.file("examples/", package = "r2d3"))
## [1] "baranims.js" "barchart.js"
library(r2d3)
r2d3(
data = c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20),
script = system.file("examples/barchart.js", package = "r2d3")
)
r2d3(
data = c(0.3, 0.6, 0.8, 0.95, 0.40, 0.20),
script = system.file("examples/baranims.js", package = "r2d3")
)