这个没有中文api真的非常的不好弄,所以从网上学习总结一下:


vis.js分为模块如下:

模块名描述
configure生成带有筛选的交互式选项编辑器
edges处理边的创建和删除,并包含全局边选项和样式。
groups包含组和一些有关如何处理具有不存在组的节点的选项。
interaction用于所有用户与网络的交互。处理鼠标和触摸事件和选择,以及导航按钮和弹出窗口。
layout控制初始和层次定位。
manipulation提供一个API和可选的GUI来更改网络中的数据。
nodes处理节点的创建和删除,并包含全局节点选项和样式。
physics是否所有的模拟都将节点和边移动到它们的最终位置,并控制稳定性。

var options = {  autoResize: true,  height: '100%',  width: '100%'  locale: 'en',  locales: locales,  clickToUse: false,  configure: {...},    // defined in the configure module.  edges: {...},        // defined in the edges module.  nodes: {...},        // defined in the nodes module.  groups: {...},       // defined in the groups module.  layout: {...},       // defined in the layout module.  interaction: {...},  // defined in the interaction module.  manipulation: {...}, // defined in the manipulation module.  physics: {...},      // defined in the physics module.}network.setOptions(options);

模块configure属性:

参数名类型默认值描述
enabledBooleantrue打开或关闭配置界面。这是一个可选参数。如果未定义该对象的任何其他属性,则将被设置为true。
filterString, Array, Boolean, Functiontrue当是一个布尔值,为true时将显示所有选项,false将不显示任何选项。如果提供了一个字符串,则可选项为:nodes, edges, layout, interaction, manipulation, physics, selection, renderer。最后,当提供一个字数组时,那么前面提到的字段可多选。当提供函数时,接收两个参数。选项中的选项和路径。如果它返回true,选项将显示在配置器中。例如:function (option, path) {return path.indexOf(‘physics’) !==-1;}这只显示了physics选项。
containerDOM elementundefined这允许您将配置列表放在网络下面的另一个HTML容器中。
showButtonBooleantrue显示配置程序底部的“生成选项”按钮。

模块layout属性:

参数名类型默认值描述
randomSeedNumberundefined配置每次生成的节点位置是否一样,参数为数字1、2等。当不使用分层布局时,节点最初是随机定位的。这意味着每次固定的位置是不同的。如果手动提供一个随机种子,每次布局都是相同的。理想情况下,您尝试使用未定义的种子,重新加载,直到您对布局感到满意,并使用getSeed()方法来确定种子。
improvedLayoutBooleantrue当启用时,网络将使用Kamada Kawai算法进行初始布局。对于大于100个节点的网络,将自动执行聚类以减少节点的数量。这可以大大提高稳定时间。如果网络是非常互联的(没有或很少的叶节点),这可能不起作用,它将恢复到旧的方法。性能将在未来得到改善。
hierarchicalObject or BooleanObject层级结构显示。当为true时,布局引擎使用默认设置以分层方式对节点进行定位。对于定制,您可以提供对象。

关于hierarchical里面object里面的属性填写规范参考博客:https://blog.csdn.net/cuishiz...



模块group参数规范:

参数名类型默认值描述
useDefaultGroupsBooleantrue如果节点定义的组不在组模块中,则模块在它所拥有的组上循环,为每个未知组分配一个。当所有被使用时,它回到第一组。通过将此设置为false,默认组将不在此循环中使用。
group*Object可以添加多个包含样式信息的多个组,这些样式信息适用于组的某个子集。在nodes模块中描述的所有有意义的选项都可以在这里使用(您不会为一组节点设置相同的ID或x,y位置)。例子:var nodes = [ {id:1, group:'myGroup', label:"I'm in a custom group called 'myGroup'!"}]var options = { groups: { myGroup: {color:{background:'red'}, borderWidth:3} }}该选项不被称为组,如示例所示,但可以由任何自定义ID,除了“UndoDebug组”之外

模块interaction属性参数规范:

参数名类型默认值描述
dragNodesBooleantrue当TRUE时,不固定的节点可以被用户拖动。
dragViewBooleantrue当TRUE时,视图可以被用户拖拽。
hideEdgesOnDragBooleanfalse当为真时,拖动视图时不绘制边沿。这可以大大加快拖动的响应性,提高用户体验。
hideNodesOnDragBooleanfalse如果为true,则在拖动视图时不绘制节点。这可以大大加快拖动的响应性,提高用户体验。
hoverBooleanfalse当TRUE,the节点土地徘徊的颜色当老鼠移动了他们。
hoverConnectedEdgesBooleantrue当TRUE,悬停在一个节点上,它的连接边缘突出显示
keyboardObject or BooleanObject如果为true,则使用默认设置启用键盘快捷键。为了进一步定制,可以提供对象。
multiselectBooleanfalse当为真时,长时间单击(或触摸)以及控件单击将添加到选择。
navigationButtonsBooleanfalse如果为真,则在网络画布上绘制导航按钮。这些是HTML按钮,可以使用CSS完全定制。
selectableBooleantrue当为真时,节点和边可以由用户选择。
selectConnectedEdgesBooleantrue当为true时,在选择节点时,其连接边被高亮显示。
tooltipDelayNumber300当节点或边具有定义的“title”字段时,这可以显示为弹出工具提示。工具提示本身是一个HTML元素,可以使用CSS完全样式化。延迟是在显示工具提示之前花费的毫秒时间。
zoomViewBooleantrue当为真时,用户可以放大。
关于keyboard参数规范:

英文API文档:https://visjs.github.io/vis-n...
visjs首页:https://visjs.org/~~~~