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
太好了,我會添加這個作爲參考的答案。 –