0
我使用D3从json数组中绘制线条。我可以从它的值得到它的x和y坐标,但我试图得到一个线名称,并将其分配给路径对象ID,但得到各种[对象对象}错误。 我使用的数组是: [{name:“line1”,x:1,y:1},{name:“line1”,x:1,y:2},{name:“line1”, x:1,y:5},]从D3与json值密钥对获取价值
对于不同的行,这是相同的,因为我可能需要在每个数据点中重复名称。
的代码是:
var width = 500,
height = 500,
margin = 50,
x = d3.scale.linear()
.domain([0, 10])
.range([margin, width - margin]),
y = d3.scale.linear()
.domain([0, 10])
.range([height - margin, margin]);
var actionsD3 = [
[ {name: "line1", x: 1, y: 1},{name: "line1", x: 2, y: 2},{name: "line1", x: 3, y: 5},]
];
var line = d3.svg.line()
.x(function(d){return x(d.page);})
.y(function(d){return y(d.characterid);});
var lineName = d3.select()
.jsonData(function(d){return (d.name);});
svg.attr("height", height)
.attr("width", width);
function render(data) {
svg.selectAll("path")
.data(data)
.enter()
.append("path")
.attr("class", "line")
.attr("id",function(d){return lineName(d);})
.attr("d", function(d){return line(d);});
}
render(actionsD3);
我想什么是一样的,我得到的值x和y与d.x和d.y.行 但我似乎总是得到一对或一个数组。
感谢
您发布的代码不起作用,但是从您的描述中可以看出'.attr(“id”,function(d){return d [0] .name;})''。 –
真棒拉尔斯,完美的工作:-) – isaapm
太好了,我会添加这个作为参考的答案。 –