将d3项目符号图表加载到跨度中

时间:2014-05-15 23:38:48

标签: javascript css svg d3.js

我正在尝试将d3.js项目符号图表加载到现有的svg对象中:

<span id='element'><svg class="elm_12"></svg></span>

并在js:

var svg = d3.select(elementid)
        .data(data)
        .enter().append("svg")
          .attr("class", "bullet")
          .attr("width", width + margin.left + margin.right)
          .attr("height", height + margin.top + margin.bottom)
        .append("g")
          .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
          .call(chart);

我假设我无法将svg元素添加到现有的svg元素中。有关实现这一目标的最佳方法的任何想法?

2 个答案:

答案 0 :(得分:2)

我打算将此作为注释,但代码语句太多了。那怎么样:

<span id='element'></span>
...

var svg = d3.select("#element")
  .append("svg")
    .attr("class", "bullet")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom);

svg
    .data(data)
  .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")")
    .call(chart);

答案 1 :(得分:0)

实际上,这足以让我弄清楚 - 谢谢。

var svg = d3.select(elementid)
.data(data)
.enter()
.append("svg")
.attr("class", "bullet")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
.call(chart);