vis-network 知识点笔记 (常用API)

70 阅读3分钟

vis-network 常用API速查表

本速查表聚焦开发中高频使用的配置项、实例方法与关键事件,按模块分类整理,标注核心参数与使用场景,方便快速查阅。

一、核心配置项(Options)

模块配置项作用说明默认值
基础画布autoResize是否自动适配容器大小true
height/width画布尺寸(支持百分比如100%或像素如600px100%
clickToUse是否需点击激活画布才响应交互false
节点nodes.shape节点形状(ellipse/circle/box/image/iconellipse
nodes.size节点大小25
nodes.color节点颜色(含border/background/highlight状态)蓝色系
nodes.label节点文本(可在节点数据中单独定义)undefined
nodes.physics是否参与物理模拟(固定节点设为falsetrue
edges.arrows.to边的箭头(enabled: true启用,type: 'arrow'false
edges.smooth边的平滑度(enabled: truetype: 'dynamic'动态弯曲)true
edges.width边的宽度1
edges.label边的文本(如权重、关系类型)undefined
布局layout.hierarchical是否启用层级布局(适合树形结构)false
layout.hierarchical.direction层级方向(UD上下/LR左右)UD
物理模拟physics.enabled是否启用物理模拟true
physics.solver求解器(barnesHut大规模/repulsion小规模)barnesHut
physics.stabilization.iterations稳定化最大迭代次数(避免节点持续运动)1000
交互interaction.dragNodes是否允许拖拽节点true
interaction.zoomView是否允许缩放画布true
interaction.multiselect是否允许框选多个节点false

二、高频实例方法

方法分类方法名作用说明示例代码
基础操作destroy()销毁实例,移除DOM引用与事件network.destroy();
setOptions(options)动态更新配置(支持部分更新)network.setOptions({ nodes: { size: 30 } });
on(event, callback)绑定事件监听器network.on('click', (params) => {});
数据/视图setData({nodes, edges})覆盖实例数据(节点/边为vis.DataSet或数组)network.setData({ nodes: newNodes, edges: newEdges });
fit(options)缩放画布以显示指定节点(默认显示全部)network.fit({ nodes: [1,2], minZoomLevel: 0.5 });
focus(nodeId, options)聚焦指定节点(支持缩放)network.focus(1, { scale: 2.0 });
节点/边getPositions(nodeIds)获取节点坐标(支持单个/多个节点ID)network.getPositions([1,2]); // 返回{1:{x:50,y:80}, 2:{x:120,y:90}}
moveNode(nodeId, x, y)手动移动节点到画布坐标(x/y为画布像素)network.moveNode(1, 200, 200);
selectNodes(nodeIds, highlightEdges)选择节点(highlightEdges是否高亮关联边)network.selectNodes([1,2], true);
物理控制startSimulation()启动物理模拟(手动停止后需调用)network.startSimulation();
stopSimulation()停止物理模拟(触发stabilized事件)network.stopSimulation();

三、关键事件

事件分类事件名触发场景核心参数(params
用户交互click点击画布(节点/边/空白区域)nodes:点击的节点ID数组;edges:点击的边ID数组;pointer:坐标
select选择状态变化(节点/边被选中/取消)nodes/edges:当前选中的ID数组
dragEnd拖拽节点或画布结束时nodes:拖拽的节点ID;pointer:拖拽结束坐标
zoom缩放画布时direction+放大/-缩小;scale:当前缩放级别
物理模拟stabilized物理模拟稳定或手动停止时iterations:稳定化迭代次数
stabilizationProgress稳定化过程中(每updateInterval次迭代触发)iterations:已完成次数;total:总迭代次数
渲染视图afterDrawing节点/边绘制完成后(可绘制自定义内容)无额外参数,需通过network实例获取画布上下文
resize画布大小变化时(如窗口缩放)width/height:新尺寸;oldWidth/oldHeight:旧尺寸