[英]d3 set multiple attributes with one function
大家好,我有一個svg行的以下示例對象
{
_id: 5,
coordinates:{
x1: 100,
y1: 100,
x2: 500,
y2: 500,
}
假設我在可變data
有這些對象的數組。 我想在一個attr()
調用中設置所有相關的行屬性。 我知道您可以將對象作為屬性傳遞,然后d3將設置所有屬性。 由於我有一個對象數組,我創建了一個返回對象的函數:
let objectsRender = svg.selectAll("line")
.data(data)
.enter()
.append("line")
.attr(function(d) { return d.coordinates;})
.attr("id", function(d){ return prefix +d._id;});
但它似乎不起作用,因為沒有設置x或y值。 誰能給我解決我的問題?
我擔心你不能一行做到這一點,你必須這樣做:
.attr({
x1: function (d) { return d.coordinates.x1; },
x2: function (d) { return d.coordinates.x2; },
y1: function (d) { return d.coordinates.y1; },
y2: function (d) { return d.coordinates.y2; }
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.