如何添加两个同名数据? Apache echarts 桑基图

问题描述 投票:0回答:1

我正在根据以下sankey示例编写代码。

option = {
  series: {
    type: 'sankey',
    layout: 'none',
    emphasis: {
      focus: 'adjacency'
    },
    data: [
      {
        name: 'a'
      },
      {
        name: 'b'
      },
      {
        name: 'a1'
      },
      {
        name: 'a2'
      },
      {
        name: 'b1'
      },
      {
        name: 'c'
      }
    ],
    links: [
      {
        source: 'a',
        target: 'a1',
        value: 5
      },
      {
        source: 'a',
        target: 'a2',
        value: 3
      },
      {
        source: 'b',
        target: 'b1',
        value: 8
      },
      {
        source: 'a',
        target: 'b1',
        value: 3
      },
      {
        source: 'b1',
        target: 'a1',
        value: 1
      },
      {
        source: 'b1',
        target: 'c',
        value: 2
      }
    ]
  }
};

使用该代码,我在“data”数组中指定了不同的元素。具体来说,我希望在最终图像中将“a”和“a2”元素命名为“z”。

我不能只将元素名称更改为

{
  name: 'z'
}

因为这改变了元素之间的连接。

我尝试在对象中指定键“label”和“id”。我尝试了类似这样的不同组合

{
  name: 'z',
  id: 'a',
  label: 'z'
}

但它不起作用:(

你能帮我得到我想要的东西吗?

javascript echarts sankey-diagram
1个回答
0
投票

您可以使用标签格式化程序功能。这是一个示例

option = {
...
  label: {
    formatter: labelFormatter
  }
...
}

function labelFormatter(params) {
  const name = params.name;
  if (name === 'a' || name === 'a2') {
    return 'z';
  }
  return name;
}
© www.soinside.com 2019 - 2024. All rights reserved.