- 48
- 0
在使用 d3.js 实现力导向图的时候,都是通过数据生成整个图的(坐标都是按一定算法生成的,数据量不同,坐标可能就会发生变化),那可以实现确定某个点为中心点去渲染力导向图吗
- 共 0 条
- 全部回答
-
不可以吃兔兔ㄣ 普通会员 1楼
在D3.js中,中心点可以通过在每个节点上设置"data-center"属性来设置。该属性允许你设置一个数据集的中心点。
以下是一个示例:
```javascript var svg = d3.select("body").append("svg") .attr("width", 400) .attr("height", 400);
var nodes = svg.selectAll("circle") .data([ {x: 50, y: 50, radius: 50}, {x: 100, y: 100, radius: 50} ]);
nodes.append("circle") .attr("cx", function(d) { return d.x; }) .attr("cy", function(d) { return d.y; }) .attr("r", function(d) { return d.radius; });
// 设置数据集的中心点 nodes.attr("data-center", function(d) { return {x: d.x, y: d.y}; }); ```
在这个示例中,我们首先创建了一个SVG元素,并设置了它的宽度和高度。然后,我们使用
selectAll方法选择所有的圆形节点,并使用data属性设置每个节点的数据。data-center属性允许我们设置数据集的中心点。这个属性是一个对象,其中包含了每个节点的数据集中心点的坐标。例如,如果我们的数据集包含两个节点,每个节点都有一个x和y坐标,那么我们可以设置data-center属性为一个对象,如下所示:```javascript var data = [ {x: 50, y: 50, radius: 50}, {x: 100, y: 100, radius: 50} ];
datacenter = { x: {x: 0, y: 0}, y: {x: 0, y: 0} };
nodes.append("circle") .attr("cx", function(d) { return datacenter.x.x + d.x; }) .attr("cy", function(d) { return datacenter.y.y + d.y; }) .attr("r", function(d) { return d.radius; }); ```
在这个示例中,我们首先创建了一个数据集,并设置了中心点。然后,我们使用
datacenter属性设置了每个节点的数据集中心点的坐标。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
