D3.js c3散点图-如何给点命名?
在c3散点图上,我可以给每个点一个x和y值,但我还需要给它们一个名称 我传入的json数据如下所示: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
[
{
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