recharts 力导向布局图

一、参数说明
echartr(data, x, <y>, <series>, <t>, <type>, <subtype>)
参数说明

● 数据结构:
● 矩阵模式: 一个数据框,其中一列为节点名,余下的是一个矩阵。将节点名赋值给x, 矩阵赋值给y。
● 节点/联结模式:一个节点数据框[x, NA, series, weight]和一个联结数据框[x, x1, relation, value]。用rbind将两者合并。如果未提供节点数据框,recharts会基于联结数据框自动构建。相应地,提供[x, x1, series/relation, weight/value]数据框。
● 力导向布局图和和弦图可通过工具箱按钮快速切换。

二、数据准备:
grpmtx <- matrix(c(11975,5871,8916,2868,1951,10048,2060,6171,8010,16145,8090,8045,1013,990,940,6907),
                 byrow = TRUE, nrow = 4)
grpmtx <- as.data.frame(grpmtx)
names(grpmtx) <- paste0('Group',1:4)
grpmtx$Name <- paste0('Group',1:4)
knitr::kable(grpmtx, align=c('lllll'))
三、节点Node和联结Link模式
str(yuNetwork)

yuNetwork数据集包含一个节点数据框(nodes)及一个联结数据框(links)。可以合并为一个数据框。
● nodes节点:
○ name: 节点名称
○ series: 节点所属数据系列
○ value: 节点的重要性分值
● links联结:
○ source和target: 定义了联结的方向
○ relation: 联结的名称
○ weight: 联结的重要性分值

nodes <- cbind(yuNetwork$nodes[,1],NA,yuNetwork$nodes[,2:3],stringsAsFactors=FALSE)
names(nodes) <- names(yuNetwork$links)
yu <- rbind(yuNetwork$links,nodes,stringsAsFactors=FALSE)
四、图表展现
1. 曲线联结:

设type为’force’

echartr(yu, c(source,target), weight, relation, type='force') %>%
 setTheme(palette=c('tan3','green3','green2','lawngreen','olivedrabl'))
yu曲线联结图
2. 直线联结图

设type为’force_line’

echartr(grpmtx, Name, c(Group1, Group2, Group3, Group4),type='force_line')
grpmtx直线联结图
echartr(yu, c(source,target), weight, relation, type='force_line') %>%
  setTheme(palette=c('tan3','green3','green2','lawngreen','olivedrabl'))
yu直线联结图
3. 增加时间轴
echartr(deutsch, c(club,player), weight, role, t=year, type='force', sub='arrow')
deutsch时间轴力导向布局图

更多功能请戳官方链接:madlogos.github.io/recharts/Basic_Plots_01_Scatterplot_cn.html#-en

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、数据结构(两种模式) ● 矩阵模式: 一个数据框,其中一列为节点名,余下的是一个矩阵。将节点名赋值给x, 矩阵...
    李小夭阅读 6,908评论 0 7
  • 凡是遥远的地方,都有一种莫名的诱惑。或是关于美丽,或是关于传说,无论什么,总之就是要在路上。因为旅行带给我们的独特...
    筱飞不会飞阅读 412评论 0 1
  • 骆驼有过怎样的恋爱经历没人知道,仿佛不能写成精彩故事、改编成经典电影的,在他眼里都算不上是爱情,再火热的谈话还是接...
    拓拓驼阅读 388评论 0 0
  • RocketMQ 简介 RocketMQ 是一个队列模型的消息中间件,具有高性能,高可用,高实时等特性,它并不支持...
    H_Man阅读 719评论 3 4
  • 所谓个人的财富自由,指的是某个人再也不用为了满足生活必需而出售自己的时间了. 时间的价值显而易见,我们都是想让时间...
    牛小草_阅读 262评论 0 0