echarts关系图的配置中,有两个关键的数据,data与links,我们在制作关系图的时候,data数组中,节点名称name必须唯一,否则echarts会抛出 “Cannot set property 'dataIndex' of undefined”的错误。但有时我们偏偏需要出现两个同名的节点,那么如何实现。
1 data数据加工,
既然echarts要求data数组中name属性(默认展示的label)必须唯一,那么我们在进行data数据组装的时候,必须使用一个唯一字段进行,将name与我们要显示的 字段进行匹配,可参照下列代码
let originData = {
name1:'张三',
name2:'张三',
name3:'李四',
name4:'王五',
}
for(var p in originData ){
data.push({
name:p,
showName:originData[p],
tooltip: {//此处为tootips转换
shor:true,
formatter:function(params){
return params.data.showName
}
}
})
}
数据拼装完成后,在series中配置,label ,代码如下
label: {
normal: {
show: true,
position: ['50%', '100%'],
formatter:function(params){
return params.data.showName //此处为label转换
}
}
},
效果如下: