使用许多节点和链接加快d3部队布局
Speed up d3 force layout with many nodes and links
我想制作一个可视化,其中包含大量具有d3力布局的节点(超过500个节点)。虽然它在多达200个节点上正常工作,但在大约500个节点上却变得非常慢,因为布局从一帧到下一帧都会出现问题,节点上的鼠标悬停等事件远没有响应。这让我问了几个问题。
-
节点数量是否存在某种限制,之后不建议使用强制布局?如果是的话,是否有其他库可以处理这项工作?
-
如果我想用d3加快流程,哪些部件应该进行优化?我试着尽量减少css/attributes标记的使用(只给节点一个半径和填充颜色+给链接一个笔划宽度和笔划颜色),并减少交互的使用(鼠标悬停事件),但对保存所有信息的force对象是否可以做更多的优化?数据的大小必须起到一定的作用。。。
感谢您的投入!
这样做的一种方法不是处理每个tick
事件,而是只处理其中的一小部分,例如跳过指定的数量或根据其他考虑动态调整事件数量。
如果希望平滑移动,请在已处理的tick
事件中设置的位置之间添加过渡。当然,您也可以将这些想法结合起来,在转换运行时跳过事件,在转换完成后处理第一个事件。
相关文章:
- 在链接d3强制布局中添加和删除类
- 如何在d3力布局中使直线而不是曲线
- 具有树状布局,如何更改X轴以使用D3中的时间刻度
- d3.js绘制具有固定布局的网络
- 可以't去除D3'的放射状树状布局
- 如何使d3.js树布局按字母顺序对节点进行排序
- D3.js强制布局带有外部数据的图形空白
- d3.js:在强制布局中使用缩放时,将禁用拖动
- 是否有类似强制布局但支持单击事件的 D3 布局引擎
- D3 筛选返回函数值强制布局
- 如何在 D3 中使力布局图.js响应屏幕/浏览器大小
- d3.js - 强制布局和节点位置
- D3 力导向布局的基础知识
- 如何在D3中获得可缩放Icicle布局中文本标签的旋转
- d3.js力布局图:如何从头开始构建nodes对象
- 如何使用 D3 布局非树层次结构
- 我可以把一个d3布局放在另一个上面吗
- 动态改变Javascript D3布局模拟
- 我应该使用哪个D3布局来显示关系
- D3 布局树未呈现