最近工作需要完成一个股权穿透图,找了好多文档发现都不满足需求,最终选择d3.js来实现,包含子集的收缩展开,交互以及其他功能。之前由于没做过类似关系图以及不了解d3,踩了很多坑,我会尽可能将代码描述清楚(毕竟花了两个大夜),建议提前了解svg的简单使用和运行机制,d3的基本使用。 使用d3不像其他图表,d3的使用自由度极大,因此可以完成绝大多数图表需求,时间充足的话,可以逐步完成代码,理解实现思路后做其他修改就很简单了。