1.0.22 • Published 1 month ago

@tntv/react-graph v1.0.22

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
1 month ago

知识图谱可视化

组件

通用配置

参数说明类型默认值
actionsGraphRootStore 实例GraphRootStoreundefined
width容器宽度(不设置的时候内部自动读取)Numberundefined
height容器高度(不设置的时候内部自动读取)Numberundefined
canRegion是否可以框选Booleanfalse
renderNode自定义 Node 渲染React.ReactNode内置渲染
renderEdge自定义 Edge 渲染React.ReactNode内置渲染
nodeEvents节点事件(click,dblclick,contextmenu 等){eventType: Function(node,d3Event)}{}
edgeEvents关系事件(click,dblclick,contextmenu 等){eventType: Function(edge,d3Event)}{}
graphEvents关系事件(click,dblclick,contextmenu 等){eventType: Function(actions,d3Event)}{}
regionEvents框选事件(brushStart,brushMove,brushEnd,brushOffset){eventType: Function()}{}
onGraphLayoutEnd布局完成Function()undefined
className自定义类名Function()undefined

Force

图谱可视化组件

参数说明类型默认值
layout布局算法String|Class'force'
layoutConfig布局配置Objectundefined
graphData数据配置GraphDataundefined
canDrag是否可以拖拽Booleantrue
graphCanDrag画板是否可以拖拽Booleantrue
disableWheelZoom禁用鼠标滚轮缩放Booleanfalse
isFixed是否固定的定位Booleanfalse

Tree

图谱可视化组件

参数说明类型默认值
graphData数据配置GraphDataundefined
ranksep每层之间间距Number50
nodesep同层节点之间间距Number10
groupsep各个组之间间距Number0
align层级间对齐Booleantrue

API

createActions()

此方法生成实例为图谱展示的数据管理实例,必不可少;

actions.addData(GraphData, isReplace = false)

往当前图谱中添加数据,数据格式固定;isReplace 为 true 的时候会替换当前所有数据

actions.savePic(fileType)

当前图谱保存为图片,格式支持 jpeg|png|svg

actions.adaption(padding=30, minScale=undefined)

自适应当前视图大小;padding为四周间隔,minScale为最小缩放量

actions.zoomIn(step=0.1)

放大,setp 为百分比

actions.zoomOut(step=0.1)

缩小,setp 为百分比

actions.zoomTo(scale)

缩放为原图的 scale 倍

actions.relayout()

重新布局

actions.focus(nodeId)

聚焦到某个节点

Layout

内置了以下布局,可以在 ReactGraph 里配置

{
    force: '力导布局',
    tree: '树形布局',
    grid: '网格布局'
}

如果需要实现自定义布局,需要继承BasicLayout类实现

utils

shortestPath

最短路径计算

fullPath(number)

n 度以内全路径计算

isomorphicAnalysis(GraphData)

同构图分析,返回分析后的同构图

数据说明

Node

{
    id: String,
    type: String,
    label: String,
    x: Number,
    y: Number,
    nodeSize: Number,
    mode: String<default|highlight|unHighlight>,
    ...other
}

Edge

{
    id: String,
    target: String,
    source: String,
    type: String,
    label: String,
    strokeWidth: Number,
    isDirected:false,
    ...other
}

GraphData

{
    nodes: Node[],
    edges: Edge[]
}

其他

注意:如果需要兼容 ie11,打包的 babel 的配置里面请不要排除d3-forced3-quadtreed3-timer,因为他们内部包含了箭头函数、const

规划功能

动画:路径分析后出来的结果是否可以以动画的形式展示 eg: pipe(animate(node1), animate(edge1), animate(node2), animate(edge2), animate(node3))

图形扩展:圆形、矩形、椭圆

:tada: :tada: :tada: :see_no_evil:

1.0.22

1 month ago

1.0.21

1 month ago

1.0.20

2 months ago

2.0.1

2 months ago

2.0.0

7 months ago

1.0.19

11 months ago

1.0.18

1 year ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.9-gf

2 years ago

1.0.11

2 years ago

1.0.12

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago