[英]Get value from json value key pair with D3
我正在使用D3從json數組繪制線條。 我可以從中獲得x和y坐標的值,但是我試圖獲取線名並將其分配給路徑對象ID,但是卻遇到各種[object object}錯誤。 我正在使用的數組是:[{name:“ line1”,x:1,y:1},{name:“ line1”,x:1,y:2},{name:“ line1”,x: 1,y:5},]
不同的行是相同的,名稱重復出現,因為我可能在每個數據點都需要它。
代碼是:
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);
我想要的東西與通過dx和dy獲得x和y的值的那一行相同,但是我似乎總是會得到該對或數組。
謝謝
您發布的代碼不起作用,但是根據您的描述,它將類似於.attr("id", function(d) { return d[0].name; })
。 想法是您要傳遞一個指定行的數組,並從該行的第一點獲取ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.