之前一直默认的d3-svg画图,使用svg的好处是方便操作dom元素, 添加用户交互,操作起来很方便,但后期发现展示大量数据时用svg渲染会造成页面卡顿。因此最近研究了下d3画canvas,在需要展示的数据量很大且交互少的时候适合用canvas。
canvas和svg都能实现同样的效果,如图:

简单的示例:
1 | <div id="graph"></div> |
myforce.js
1 | let MyForce = function(options){ |
canvas渲染:
1 | MyForce.prototype.forceByCanvas = function(){ |
svg渲染:
1 | MyForce.prototype.forceBySvg = function(){ |


