簡體   English   中英

d3用一個函數設置多個屬性

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

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