最终效果
产品:我要同一个父类型的在一列,父类型名称需要与每列的节点对齐。
我:这个不得行啊(嘴上这么说,身体却很诚实。咳咳).....
1.同一父类型在一列,这个想到depth可以搞定,父类型名称需要与每列的节点对齐这个考虑如下。
2.首先想到的是xAxis,立马去试了下,结果报错了,图都出不来。然后就去官网的DEMO上改,发现也是同样的错误。
百度,bing,github都没找到这个错误的解决方案,最终放弃。
3.看了遍api也没有能实现这个需求的,嗯嗯,就很nice。最后想,那就自己写吧,但是每列节点之间的间距我要怎么获取?api里也没提供,然后就在github里面看sankey图相关的源码,最后发现
scalNodeBreadths里的kx是关键,想着它这个kx怎么获取到的,继续看,哦,在这computeNodeBreadths个方法里获取到的
orient、nodeWidth、width、height都是我们传的,关键是这个maxDepth怎么来的?x是怎么来的?
4.....又查看源码,最终发现x获取太过于复杂,再次放弃。没办法了,逼我放大招了,直接把kx改成固定值,手动滑稽!
最终达到预期。
缺点:必须每位前端开发人员的源码都需要改动,避免打包后出现异常。后续接盘人员难以维护。
解决方案:文档说明
建议把kx改为变量,让用户可修改,扩展性比较强