这个没有中文api真的很是的很差弄,因此从网上学习总结一下:node
vis.js分为模块以下:git
模块名 |
描述 |
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属性:
参数名 |
类型 |
默认值 |
描述 |
enabled |
Boolean |
true |
打开或关闭配置界面。这是一个可选参数。若是未定义该对象的任何其余属性,则将被设置为true。 |
filter |
String, Array, Boolean, Function |
true |
当是一个布尔值,为true时将显示全部选项,false将不显示任何选项。若是提供了一个字符串,则可选项为:nodes, edges, layout, interaction, manipulation, physics, selection, renderer。最后,当提供一个字数组时,那么前面提到的字段可多选。当提供函数时,接收两个参数。选项中的选项和路径。若是它返回true,选项将显示在配置器中。例如:function (option, path) {return path.indexOf(‘physics’) !==-1;}这只显示了physics选项。 |
container |
DOM element |
undefined |
这容许您将配置列表放在网络下面的另外一个HTML容器中。 |
showButton |
Boolean |
true |
显示配置程序底部的“生成选项”按钮。 |
模块layout属性:
参数名 |
类型 |
默认值 |
描述 |
randomSeed |
Number |
undefined |
配置每次生成的节点位置是否同样,参数为数字一、2等。当不使用分层布局时,节点最初是随机定位的。这意味着每次固定的位置是不一样的。若是手动提供一个随机种子,每次布局都是相同的。理想状况下,您尝试使用未定义的种子,从新加载,直到您对布局感到满意,并使用getSeed() 方法来肯定种子。 |
improvedLayout |
Boolean |
true |
当启用时,网络将使用Kamada Kawai算法进行初始布局。对于大于100个节点的网络,将自动执行聚类以减小节点的数量。这能够大大提升稳定时间。若是网络是很是互联的(没有或不多的叶节点),这可能不起做用,它将恢复到旧的方法。性能将在将来获得改善。 |
hierarchical |
Object or Boolean |
Object |
层级结构显示。当为true 时,布局引擎使用默认设置以分层方式对节点进行定位。对于定制,您能够提供对象。 |
关于hierarchical里面object里面的属性填写规范参考博客:https://blog.csdn.net/cuishiz...github
模块group参数规范:
参数名 |
类型 |
默认值 |
描述 |
useDefaultGroups |
Boolean |
true |
若是节点定义的组不在组模块中,则模块在它所拥有的组上循环,为每一个未知组分配一个。当全部被使用时,它回到第一组。经过将此设置为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属性参数规范:
参数名 |
类型 |
默认值 |
描述 |
dragNodes |
Boolean |
true |
当TRUE时,不固定的节点能够被用户拖动。 |
dragView |
Boolean |
true |
当TRUE时,视图能够被用户拖拽。 |
hideEdgesOnDrag |
Boolean |
false |
当为真时,拖动视图时不绘制边沿。这能够大大加快拖动的响应性,提升用户体验。 |
hideNodesOnDrag |
Boolean |
false |
若是为true,则在拖动视图时不绘制节点。这能够大大加快拖动的响应性,提升用户体验。 |
hover |
Boolean |
false |
当TRUE,the节点土地徘徊的颜色当老鼠移动了他们。 |
hoverConnectedEdges |
Boolean |
true |
当TRUE,悬停在一个节点上,它的链接边缘突出显示 |
keyboard |
Object or Boolean |
Object |
若是为true,则使用默认设置启用键盘快捷键。为了进一步定制,能够提供对象。 |
multiselect |
Boolean |
false |
当为真时,长时间单击(或触摸)以及控件单击将添加到选择。 |
navigationButtons |
Boolean |
false |
若是为真,则在网络画布上绘制导航按钮。这些是HTML按钮,可使用CSS彻底定制。 |
selectable |
Boolean |
true |
当为真时,节点和边能够由用户选择。 |
selectConnectedEdges |
Boolean |
true |
当为true时,在选择节点时,其链接边被高亮显示。 |
tooltipDelay |
Number |
300 |
当节点或边具备定义的“title”字段时,这能够显示为弹出工具提示。工具提示自己是一个HTML元素,可使用CSS彻底样式化。延迟是在显示工具提示以前花费的毫秒时间。 |
zoomView |
Boolean |
true |
当为真时,用户能够放大。 |
关于keyboard参数规范:

模块physics属性规范:
参数名 |
类型 |
默认值 |
描述 |
enabled |
Boolean |
true |
打开或关闭物理系统。此属性是可选的。若是您定义了下面的任何选项,而且enabled未定义,则此选项将设置为true。 |
barnesHut |
Object |
Object |
BarnesHut是一个基于四叉树的重力模型。这是非分层布局的最快、默认和推荐的解算器。 |
forceAtlas2Based |
Object |
Object |
Jacomi等人(2014)开发了Force Atlas 2,用于Gephi。基于forceatlas2的解算器使用了提供的一些方程并利用vis中的barnesHut实现。主要的区别是中心引力模型,它与距离无关,斥力是线性的而不是二次的。最后,全部节点质量都有基于链接边数加1的乘数。 |
repulsion |
Object |
Object |
排斥模型假设节点周围有一个简化的排斥场。它的力从1(0.5nodeDistance或更小)线性减小到0(2nodeDistance) |
hierarchicalRepulsion |
Object |
Object |
该模型基于斥力解算器,但考虑了水平和力的规范化。 |
maxVelocity |
Number |
50 |
物理模块限制节点的最大速度以增长稳定时间。这是最大值。 |
minVelocity |
Number |
0.1 |
一旦达到全部节点的最小速度,咱们假设网络已经稳定而且模拟中止。 |
solver |
String |
'barnesHut' |
您能够选择本身的解算器。可能的选项:“barnesHut”、“hierarchicalRepulsion”、“repulsion”、“forceatlas2base”。设置层次布局时,层次排斥解算器将自动选中,而无论您在此处填写什么。 |
stabilization |
Object或Boolean |
Object |
若是为true,则使用默认设置在加载时稳定网络。若是为false,则禁用稳定。要进一步自定义此对象,能够提供一个对象。 |
timestep |
Number |
0.5 |
物理模拟是离散的。这意味着咱们在时间上迈出一步,计算力,移动节点,而后再迈出一步。若是您增长这个数字,步骤将太大,网络可能变得不稳定。若是您看到网络中有不少不稳定的移动,您可能须要稍微下降这个值。 |
adaptiveTimestep |
Boolean |
true |
若是启用此选项,则将智能地调整时间步长(仅在启用稳定的稳定阶段!)大大减小稳定时间。上面配置的时间步将做为最小时间步。这能够经过使用改进的布局算法进一步改进。 |
wind |
Object |
Object |
按给定方向推进全部非固定节点的力。要求全部节点都链接到“固定”节点,不然未链接的节点将无限期地继续移动。 |
英文API文档:https://visjs.github.io/vis-n...
visjs首页:https://visjs.org/~~~~算法