提供给集群方法的配置对象(options)可以包含以下属性:
| 名称 | ||
|---|---|---|
| joinCondition( nodeOptions: Object ) or joinCondition( parentNodeOptions: Object, childNodeOptions: Object ) | Function | 除集群方法外的所有方法均可选。 clusterbyConnection 是唯一一个将2个 nodeOptions 对象作为参数传递给 joinCondition 回调的集群方法。集群模块将循环遍历选定在集群中的所有节点,并用它们的数据(包含节点配置项)作为参数调用这个函数。 如果此函数返回 true,则此节点将被添加到集群中。 你可以访问所有的节点配置项(包括默认配置项)以及可能已经添加到节点的任何自定义字段,以确定是否将其包含在集群中。 例子: var nodes = [ {id: 4, label: 'Node 4'}, {id: 5, label: 'Node 5'}, {id: 6, label: 'Node 6', cid:1}, {id: 7, label: 'Node 7', cid:1} ] var options = { joinCondition: function(nodeOptions) { return nodeOptions.cid === 1; } } network.clustering.cluster(options); clusterbyConnection 将传递2个 nodeOptions 对象作为 joinCondition 回调的参数。 |
| processProperties( clusterOptions: Object, childNodesOptions: Array, childEdgesOptions: Array ) | Function | 可选的。 在创建新的集群节点之前,将使用您提供的属性(clusterNodeProperties)调用这个(可选的)函数,包含所有节点和所有包含的边。 您可以使用它根据集群包含的项更新集群的属性。 该函数应该返回创建集群节点的属性。 在下面的例子中,我们确保在形成集群时保存‘’mass‘’和''value'': var options = { processProperties: function (clusterOptions, childNodes, childEdges) { var totalMass = 0; var totalValue = 0; for (var i = 0; i < childNodes.length; i++) { totalMass += childNodes[i].mass; totalValue = childNodes[i].value ? totalValue + childNodes[i].value : totalValue; } clusterOptions.mass = totalMass; if (totalValue > 0) { clusterOptions.value = totalValue; } return clusterOptions; }, } |
| clusterNodeProperties | Object | 可选的。 这是一个包含''集群节点''配置项的对象。 允许节点模块中描述的所有配置项。 这允许您自定义集群节点的样式。 这也是提供给 processProperties 函数的样式对象。如果undefined,将使用默认节点配置项。在默认情况下只允许将2个或以上的节点进行集群。 要允许对单个节点进行集群,可以使用 allowSingleNodeCluster: true 属性。 clusterNodeProperties: { allowSingleNodeCluster: true } |
| clusterEdgeProperties | Object | 可选的。 这是一个包含连接到''集群节点''的边的配置项对象。 允许边模块中描述的所有配置项。 使用这个,你可以自定义连接到集群的边。 如果没有提供,则使用被替换边缘的选项。 如果未定义,将使用默认边缘选项。 |