vis.js的使用文档总结

这个没有中文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参数规范:

keyboard.png


模块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/~~~~算法

相关文章
相关标签/搜索