D3.js c3散点图-如何给点命名?

D3.js c3散点图-如何给点命名?,d3.js,c3,D3.js,C3,在c3散点图上,我可以给每个点一个x和y值,但我还需要给它们一个名称 我传入的json数据如下所示: [ { name: 'Some Name 1', x: 209, y: 50 } { name: 'Some Name 2', x: 100, y: 86 } ] svg.selectAll("circle") .data(array) .enter().append("circle") .attr("x",function(d){r

在c3散点图上,我可以给每个点一个x和y值,但我还需要给它们一个名称

我传入的json数据如下所示:

[
  {
   name: 'Some Name 1',
   x: 209,
   y: 50
 }
 {
   name: 'Some Name 2',
   x: 100,
   y: 86
  }
]
svg.selectAll("circle")
  .data(array)
  .enter().append("circle")
  .attr("x",function(d){return d.x;})
  .attr("y",function(d){return d.y;});
.attr("title",function(d){return d.name;});

有没有办法在鼠标上方找到点的名称?我正在寻找一种方法来解释两个点具有相同x和y值的可能性。

因此,如果您有类似的情况:

[
  {
   name: 'Some Name 1',
   x: 209,
   y: 50
 }
 {
   name: 'Some Name 2',
   x: 100,
   y: 86
  }
]
svg.selectAll("circle")
  .data(array)
  .enter().append("circle")
  .attr("x",function(d){return d.x;})
  .attr("y",function(d){return d.y;});
.attr("title",function(d){return d.name;});
您可以添加如下内容:

[
  {
   name: 'Some Name 1',
   x: 209,
   y: 50
 }
 {
   name: 'Some Name 2',
   x: 100,
   y: 86
  }
]
svg.selectAll("circle")
  .data(array)
  .enter().append("circle")
  .attr("x",function(d){return d.x;})
  .attr("y",function(d){return d.y;});
.attr("title",function(d){return d.name;});
要获得:

svg.selectAll("circle")
  .data(array)
  .enter().append("circle")
  .attr("x",function(d){return d.x;})
  .attr("y",function(d){return d.y;})
  .attr("title",function(d){return d.name;});
如果您的数据集有很多重叠的值。我会将“name:”元素更改为数组。然后将任何重叠点合并为单个对象。 因此:

将成为:

[
  {
   name: ['Some Name 1','Some Name 2'],
   x: 209,
   y: 50
  }
]
svg.selectAll("circle")
      .data(array)
      .enter().append("circle")
      .attr("x",function(d){return d.x;})
      .attr("y",function(d){return d.y;})
      .attr("title",function(d){
          var title = "";    
          title = title + d[0];          
          for(var i = 1; i < d.length; i++){
              title = title + ", " + d[i];              
          }
          return title;
       });
你的d3代码会变成:

[
  {
   name: ['Some Name 1','Some Name 2'],
   x: 209,
   y: 50
  }
]
svg.selectAll("circle")
      .data(array)
      .enter().append("circle")
      .attr("x",function(d){return d.x;})
      .attr("y",function(d){return d.y;})
      .attr("title",function(d){
          var title = "";    
          title = title + d[0];          
          for(var i = 1; i < d.length; i++){
              title = title + ", " + d[i];              
          }
          return title;
       });
svg.selectAll(“圆圈”)
.数据(数组)
.enter().append(“圆”)
.attr(“x”,函数(d){return d.x;})
.attr(“y”,函数(d){返回d.y;})
.attr(“标题”,功能(d){
var title=“”;
title=title+d[0];
对于(变量i=1;i