簡體   English   中英

使用D3從JSON值密鑰對獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM