D3.js V4版本——使用心得体会分享

2018-12-20  本文已影响0人  稻草人lxh

背景

在公司项目中有关系图的需求,而且定制化的呼声也特别的高,正好也用一用D3.js,所谓技多不压身,有机会干嘛不学呢。做出来的效果大致是这样的


D3.js做出的关系图

实现了这样几个功能:

于是我就开启了D3.js开发之路,以下是我的几个作品:


随着时间移动而改变的气泡图
能够构建循环关系的Sankey图,任何循环,来着不惧

定义:

看下官方给D3.js的定义:

D3.js是一个JavaScript库,它可以通过数据来操作文档。D3可以通过使用HTML、SVG和CSS把数据鲜活形象地展现出来。D3严格遵循Web标准,因而可以让你的程序轻松兼容现代主流浏览器并避免对特定框架的依赖。同时,它提供了强大的可视化组件,可以让使用者以数据驱动的方式去操作DOM。

从这里我们可以看到D3.js使用的是SVG,相比于Canvas做出的图,好处在于,它不会失真。
但真要做起D3.js的话,官方文档和Demo够大家喝一壶了,有中文文档,但翻译的不够全面,如果各位的英语还不错,建议去看原版文档。

给大家的几点学习建议:

现在的力导向仿真可以很好的扩展:你可以指定哪些受力。这个方法使得作品更柔和。新的力导向也更灵活:可以为每个节点和连接设置参数。可以指定单独的x和y来代替force.gravity。新的link force代替force.linkStrength并且更稳定。新的many-body force代替原有的force.charge并且支持最小距离参数。性能的提高归功于4.0的新的四叉树。4.0提供了冲突解决和向中对齐的方法。

好啦,这篇文章就说这么多,下一篇文章带着大家了解下SVG,详细的说一下SVG中的一些标签和属性,还有一些坑。希望能给大家一些帮助。

上一篇 下一篇

猜你喜欢

热点阅读