recharts 力导向布局图

作者: 李小夭 | 来源:发表于2017-10-21 14:07 被阅读26次
    一、参数说明
    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

    相关文章

      网友评论

        本文标题:recharts 力导向布局图

        本文链接:https://www.haomeiwen.com/subject/phyiuxtx.html