GraphVis图可视化分析组件库 GraphVis图可视化分析组件库
  • 基础介绍
  • 基础功能
  • 交互功能
  • 全局统一配置
  • 标准数据格式定义
  • 组件接口导航
  • 应用开发介绍

    • 快速上手
    • 应用开发步骤
    • VUE框架中应用
    • 业务应用基础流程
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单的定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局参数默认配置
  • 图分析算法应用

    • 图的路径分析
    • 节点中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
  • 节点模板配置

    • 自定义节点模板
    • 使用字体图标
  • 关系图类型

    • 层级关系图
    • 流程图
    • 弧线关系图
    • Sankey桑基图
  • 树图类型

    • 径向辐射树图
    • 紧凑树图
    • 缩进树图
    • 打包树图
    • 组织结构图
    • 类思维脑图
应用案例
商用授权
在线示例 (opens new window)
  • 基础介绍
  • 基础功能
  • 交互功能
  • 全局统一配置
  • 标准数据格式定义
  • 组件接口导航
  • 应用开发介绍

    • 快速上手
    • 应用开发步骤
    • VUE框架中应用
    • 业务应用基础流程
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单的定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局参数默认配置
  • 图分析算法应用

    • 图的路径分析
    • 节点中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
  • 节点模板配置

    • 自定义节点模板
    • 使用字体图标
  • 关系图类型

    • 层级关系图
    • 流程图
    • 弧线关系图
    • Sankey桑基图
  • 树图类型

    • 径向辐射树图
    • 紧凑树图
    • 缩进树图
    • 打包树图
    • 组织结构图
    • 类思维脑图
应用案例
商用授权
在线示例 (opens new window)
  • 事件注册

    • 节点事件
    • 连线事件
    • 场景事件
  • 右键菜单

    • 右键菜单定义
  • 图布局算法应用

    • 布局算法类型
    • 布局参数说明
    • 布局算法参数配置
      • 布局算法参数配置
        • 布局算法参数及工具方法
  • 图分析算法应用

    • 路径分析
    • 中心性分析
    • 聚类分析
  • 关系扩线

    • 关系扩线
  • 节点模板配置

    • 节点模板配置
    • 使用字体图标
  • 应用开发
  • 图布局算法应用
dubaopeng
2023-02-05
目录

布局算法参数配置

# 布局算法参数配置

提示

各类型布局算法对应的参数列表,以及参数类型和格式的定义,提供工具方法获取类型的参数,可作为项目的统用配置引用使用。

# 布局算法参数及工具方法

//布局算法的参数定义
export const layoutParamsDict ={
    'hierarchical':[ //层级布局
        {'name':'layerSpace','value': 150,'type':'number','label':'层间距'},
        {'name':'nodeSpace','value': 60,'type':'number','label':'点间距'},
        {'name':'sortType','value': 'selected','type':'array','label':'排序类型',
            'types':[
                {'label':'指定点','value':'selected'},
                {'label':'度大小','value':'hubsize'},
                {'label':'连线方向','value':'directed'}
            ]
        },
        {'name':'direction','value': 'UD','type':'array','label':'方向',
            'types':[
                {'label':'上下','value':'UD'},
                {'label':'下上','value':'DU'},
                {'label':'左右','value':'LR'},
                {'label':'右左','value':'RL'}
            ]
        }
    ],
    'grid':[ //网格布局
        {'name':'layerSpace','value': 120,'type':'number','label':'层间距'},
        {'name':'nodeSpace','value': 120,'type':'number','label':'点间距'}
    ],
    'concentric':[ //同心圆布局
        {'name':'maxNodeSize','value': 50,'type':'number','label':'节点大小'}
    ],
    'fastForce':[ //网络布局
        {'name':'linkDistance','value': 100,'type':'number','label':'连线长度'},
        {'name':'charge','value': -200,'type':'number','label':'吸引力'},
        {'name':'friction','value': 0.8,'type':'decimal','label':'排斥力'},
        {'name':'linkStrength','value': 0.03,'type':'decimal','label':'连线强度'},
        {'name':'gravity','value': 0.01,'type':'decimal','label':'中心引力'}
    ],
    'simulation':[ //力导向布局
        {'name':'strength','value': -1500,'type':'number','label':'吸引力'},
        {'name':'ajustCluster','value': false,'type':'array','label':'类型分组',
            'types':[
                {'label':'是','value':true},
                {'label':'否','value':false}
            ]
        }
    ],
    'kawakai':[ //最优路径布局
        {'name':'sizeScale','value': 1.3,'type':'number','label':'缩放比例'}
    ],
    'circle':[ //环形布局
        {'name':'scale','value': 1.1,'type':'number','label':'缩放比例'},
        {'name':'ordering','value': 'degree','type':'array','label':'排序方式',
            'types':[
                {'label':'度大小排序','value':'degree'},
                {'label':'拓扑排序','value':'topology'}
            ]
        }
    ],
    'arf':[
        {'name':'neighberForce','value': 5.0,'type':'number','label':'邻边引力'},
        {'name':'attraction','value': 0.05,'type':'number','label':'向心力'},
        {'name':'forceScale','value': 5.0,'type':'number','label':'缩放比例'}
    ],
    'tree':[ //树形布局
        {'name':'layerSpace','value': 150,'type':'number','label':'层间距'},
        {'name':'nodeSpace','value': 60,'type':'number','label':'点间距'},
        {'name':'direction','value': 'UD','type':'array','label':'方向',
            'types':[
                {'label':'上下','value':'UD'},
                {'label':'下上','value':'DU'},
                {'label':'左右','value':'LR'},
                {'label':'右左','value':'RL'}
            ]
        }
    ],
    'avoidlap':[ //避免重叠
        {'name':'maxPadding','value': 10,'type':'number','label':'节点间距'}
    ],
    'dagre':[ //流程图布局
        {'name':'nodesep','value': 10,'type':'number','label':'点间距'},
        {'name':'ranksep','value': 100,'type':'number','label':'层间距'},
        {'name':'nodeSize','value': 50,'type':'number','label':'节点大小'},
        {'name':'rankdir','value': 'TB','type':'array','label':'排列方向',
            'types':[
                {'label':'上下','value':'TB'},
                {'label':'下上','value':'BT'},
                {'label':'左右','value':'LR'},
                {'label':'右左','value':'RL'}
            ]
        }
    ],
    'radial':[ //中心径向布局
        {'name':'nodeSize','value': 50,'type':'number','label':'节点大小'},
        {'name':'layerDist','value': 100,'type':'number','label':'层间距'},
        {'name':'areaRadius','value': 600,'type':'number','label':'分布面半径'},
        {'name':'type','value': 'radial','type':'array','label':'排列方向',
            'types':[
                {'label':'径向分布','value':'radial'},
                {'label':'层级分布','value':'tree'}
            ]
        }
    ]
};

//布局算法列表
export const layoutTypeList = [
    {label:'网络布局',value:'fastForce',icon:'el-icon-orange'},
    {label:'力导布局',value:'simulation',icon:'el-icon-orange'},
    {label:'最优路径布局',value:'kawakai',icon:'el-icon-cpu'},
    {label:'层级布局',value:'hierarchical',icon:'el-icon-share'},
    {label:'中心圆布局',value:'concentric',icon:'el-icon-bangzhu'},
    {label:'环形布局',value:'circle',icon:'el-icon-bangzhu'},
    {label:'球面引力布局',value:'arf',icon:'el-icon-s-grid'},
    {label:'流向布局',value:'dagre',icon:'el-icon-share'},
    {label:'网格布局',value:'grid',icon:'el-icon-s-grid'},
    {label:'中心径向布局',value:'radial',icon:'el-icon-s-orange'},
    {label:'去除重叠',value:'avoidlap',icon:'el-icon-copy-document'}
];

//获取默认的布局参数
export const getLayoutDefaultConfig = function(layoutType){
    let layoutConfig = {};
    layoutParamsDict[layoutType].forEach(param=>{
        layoutConfig[param.name] = param.value;
    });
    return layoutConfig;
};

//获取布局参数列表
export const getLayoutParams = function(layoutType){
    return layoutParamsDict[layoutType];
};

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
布局参数说明
路径分析

← 布局参数说明 路径分析→

Theme by Vdoing | Copyright © 2020-2023 www.graphvis.cn. All rights reserved.
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式