mtdv logo

高亮

阅读时间约 3 分钟

高亮 highlight

高亮插件提供节点和边的高亮/变暗的方法,用户可以通过 api 制作图谱交互效果或动画等

graph.setHighlight(d, type)

Function

设置元素范围高亮,常用于 hover 场景下

  • 如果元素是节点,则会寻找到元节点上下游一层关系中的节点和边,并将这些元素高亮显示
  • 如果元素是边,则会寻找到边的起始节点和目标节点,并将这些元素高亮显示

参数

  • d : object required

    需要高亮的元素对象(节点或边)

  • type : 'node' | 'link' optional

    表示元素的类型,默认为 node


graph.resetHighlight(d, type)

Function

重置元素的高亮效果,如果不传参数则默认重置所有元素的高亮

参数

  • d : object optional

    需要取消高亮的元素对象(节点或边)

  • type : 'node' | 'link' optional

    表示元素的类型,默认为 node


graph.pureHighlight(nodes, links)

Function

指定节点和边元素高亮,不传参数则默认重置所有元素的高亮

参数

  • nodes : Array<object> optional

    高亮节点数组

  • links : Array<object> optional

    高亮边数组

graph.setHighlightStep(d)

Function

从指定起始节点向根节点探索,并将探索路径高亮

参数

  • d : object required

    指定起始节点

graph.light()

Function

取消所有元素变暗效果

graph.dark()

Function

为所有元素添加变暗效果

graph.flyLine(paths = this.pathsGroup, duration = 1000, ease = d3.easeQuadOut)

Function

飞线过渡动画效果

参数

  • paths : object optional

    需要开启飞线动画边路径的集合选择器,默认为所有边路径 path

  • duration : number optional

    过渡动画时长,默认是 1000ms

  • ease : funtion optional

    缓动函数,默认为 d3.easeQuadOut

返回值

  • flyLineTransition : promise 过渡动画 promise 对象