Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cytoscape.js 具有自定义中心坐标的圆形布局_Cytoscape.js - Fatal编程技术网

Cytoscape.js 具有自定义中心坐标的圆形布局

Cytoscape.js 具有自定义中心坐标的圆形布局,cytoscape.js,Cytoscape.js,我正在用cytoscape.js在用jVectorMap生成的世界地图上构建一个动态图。 从json数据中的LAT/LON格式坐标开始,我可以在生成的地图上用point.x/point.y转换它们,方法是: var nodePoint = theMap.latLngToPoint(node.data.lat, node.data.lon) 然后我可以在图中添加新节点,如下所示: cy.add({ group: "nodes", position: { x: no

我正在用cytoscape.js在用jVectorMap生成的世界地图上构建一个动态图。 从json数据中的LAT/LON格式坐标开始,我可以在生成的地图上用point.x/point.y转换它们,方法是:

var nodePoint = theMap.latLngToPoint(node.data.lat, node.data.lon)
然后我可以在图中添加新节点,如下所示:

cy.add({
        group: "nodes",
        position: { x: nodePoint.x, y: nodePoint.y },
        style: {
        'background-color': node.color
        },   
        data: {
            id: node.id,
            name: node.label,
            customData: node.data,
        }
    })
这部分工作正常,但当json返回具有相同坐标的多个节点时,我希望使用公共LAT/LON信息将这些节点分布在该点周围

我能够识别这些节点并对它们应用专用的布局,但最终的布局位于图的屏幕/div的中心

我想知道的是,是否有一种简单的方法来应用具有特定中心点的圆形布局


(我希望避免实施我正在评估的解决方案…即围绕中心点构建一个边界框,看看会发生什么情况,(边界框大小随同一点中的节点数而增长))

在文档中包含的葡萄酒和奶酪示例中,它们使用边界框强制围绕选定节点进行同心布局()


虽然您表示希望避免此解决方案,但它似乎是一个简单的解决方案。示例中的实现相当优雅。

我最终实现了边界框,我将根据节点数调整框的大小。也许我会找到一个适合我的情况的乘数。我将接受这一解决办法,因为这似乎是唯一的办法。谢谢