【问题标题】:How to add order for appending in svg D3如何在 svg D3 中添加附加顺序
【发布时间】:2015-06-13 21:24:58
【问题描述】:

我正在使用 d3 图表。

var svg = container.append('svg')
        .attr("width", width + margin.right + margin.left)
        .attr("height", height + margin.top + margin.bottom)
        .on("click", hideDiv).append('g')
        .attr("transform", "translate(" + margin.left + "," + margin.top + ")");
    d3.select("svg").append("rect").attr("width", '100%').attr("height", '100%').attr("fill", "#FFFFFF");

这是我的代码。在图表中运行此代码时未绘制。但是在控制台中,当在 g 之前移动“rect”时,图表将绘制。 在移动矩形之前的控制台中,代码将是

<svg width="2200" height="2690"><g transform="translate(120,20)">
<g class="node" transform="translate(180,1421.327880859375)"></g>3
<rect width="100%" height="100%" fill="#FFFFFF"></rect>

但是在move rect之后,

<svg width="2200" height="2690">
<rect width="100%" height="100%" fill="#FFFFFF"></rect>
<g transform="translate(120,20)"></g>

我想要这样。请帮我。我被这个困住了。

【问题讨论】:

  • 您可以使用插入代替追加,最后使用选择器作为要插入之前的元素
  • @HuguesStefanski 我想要这样.. 如果发生图表,否则不会绘制。
  • 尝试类似 d3.select("svg").insert("rect","g").attr("width", '100%').attr("height", ' 100%').attr("fill", "#FFFFFF");
  • @HuguesStefanski 它不起作用.. 我必须做什么
  • 你可以设置一个 jsfiddle 或 plnkr 来简化这个过程吗?这样可以更轻松地检查您的代码

标签: jquery d3.js svg jquery-svg


【解决方案1】:

您的 D3 代码对我有用,您正在使用 #FFFFFF(白色)填充您的矩形,如果您没有填充容器,那么它将默认为白色并且矩形不会显示,请尝试使用不同的颜色 同样适用于两个 svg 元素,如果您更改颜色,它们都会显示

还要注意,你已经创建了一个 svg 变量,所以你不需要再次选择它来追加矩形,直接追加:

svg.append("rect")...

这是一个有效的 jsfiddle 演示,矩形设置为黄色:

.attr("fill", "#FFFF00");

jsfiddle

【讨论】:

  • 我是这样的 3 此处图表未绘制。当我在控制台中重新排列代码时,例如 图表绘制没有问题。我怎样才能做到?
  • 我更新了 jsfiddle 以包含 svg 元素,你有错别字,为什么在第一个 中的 3 之间有 3 个?你也没有在最后关闭 。两个 SVG 元素在 jsfiddle 中都显示得很好,请看一下
  • 我在运行我的代码时得到这个 我在运行这个时没有得到图表。但是,当将 移动到第二条线时,图表将绘制。即
  • 两个 元素之间的唯一区别是,在第二个中,您将其移出 元素,因此不会对其应用转换(翻译)。如果您将 转换为大于其容器的值,那么它将超出范围并消失,但是您的 高度/宽度足够大,因此不应该成为问题。 是否包含在另一个容器中?在这一点上,我们需要查看更多代码来帮助您,正如我所指出的,我的答案中的 jsfiddle 链接显示的两个 元素与您的完全一样,我只是更改了颜色以进行演示。
猜你喜欢
  • 1970-01-01
  • 2014-03-10
  • 2015-07-25
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2017-09-12
  • 1970-01-01
相关资源
最近更新 更多