背景
最近有研发伙伴,提出了一个研发问题,在使用echarts制作桑葚图时,怎么修改布局,使左右两边均匀排列。
官方例子:echarts.apache.org/examples/zh…
过程
-
首先,通过查阅echarts的series-sankey文档,了解到一个比较能影响布局的属性series-sankey.nodeGap。通过修改nodeGap能够修改间隔,但是没办法实现想要的功能。
-
这时,发现桑葚图是可以移动的(draggable:默认值是true),那么,移动后的属性是否有记录?如果有数据记录,是否就可以分析响应属性。
-
在示例追加以下代码,移动色块并点击色块,看输出结果
myChart.on('click',(params) => {
console.log(params)
})
- 点击色块后,看到输出结果如图
- 可以看出,echarts的series-sankey.data存在localX跟localY属性,但是相应的api文档并没有标明,通过编辑该属性实现所需的布局。
总结
这个解决方案可以看出,echarts会有一些api并没有暴露,所以有些需要靠结果去反推属性。