d3.js(v5.7)的node与数据匹配(自动匹配扩展函数)

Posted 桔子桑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了d3.js(v5.7)的node与数据匹配(自动匹配扩展函数)相关的知识,希望对你有一定的参考价值。

在d3操作时,当然少不了对已有节点绑定数据,那么问题就来了,节点个数和数据长度不一样的,怎么办。

d3在节点少于数据长度的时候,有enter().appen()方法实现node的增加;

在节点大于数据长度的时候,有exit().remove()实现对多余节点的删除;

但是,操作是这样的:

技术分享图片

有没有感觉很无奈,难道写的时候还要人为判断节点的个数与数据量之间的关系么?那还要电脑干嘛,还要程序干嘛?

说干就干,于是就封装了一个节点、数据自动匹配的函数-----automatch():

技术分享图片

用的时候呢,直接这么用:

首先7个节点,5个数据项

技术分享图片

技术分享图片

页面最终输出:

技术分享图片

再来试试0个节点,5个数据:

技术分享图片

技术分享图片

页面最终:

技术分享图片

以上是关于d3.js(v5.7)的node与数据匹配(自动匹配扩展函数)的主要内容,如果未能解决你的问题,请参考以下文章

d3.js(v5.7)树状图

d3.js(v5.7)完整地画一个柱状图

d3.js:在 Angular 应用程序和 node.js 上运行相同的代码

D3.js的V5版本-Vue框架中使用-树状图

从 mongodb 服务器上的数据创建 d3.js 图

如何在 d3.js 中同时自动移动节点和链接