javascript - d3 : Existing elements are invisible

标签 javascript d3.js svg

this fiddle ,我尝试将每个数据点的多个 SVG 元素附加到 Canvas ,如下所示:

svg.selectAll("circle")
   .data(dataset)
   .enter()
   .append("circle")
   ....
   .append("line")

这些线条显示在 Firefox 检查器中,但不显示在可视化效果中。这是为什么?

最佳答案

您正在将元素相互嵌套 - 在 SVG 中无法执行此操作。您只能将元素嵌套在 g 元素内,即

g
|- circle
|- line

您可以通过为输入选择附加 g 元素并保留对它们的引用来创建此结构:

var newGs = svg.selectAll("g")
  .data(dataset)
  .enter()
  .append("g");
newGs.append("circle")
  ...
newGs.append("line")
  ....

完整演示 here .

关于javascript - d3 : Existing elements are invisible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34869136/

相关文章:

javascript - 用对象声明的样式化组件中的媒体查询

php - 给javascript/服务器时间来处理

javascript - 使用 d3 将多个矩形嵌套在多个 svg 容器中?

javascript - 按键合并数据——减少运行时间

html - 使 SVG 文本元素绝对定位(即不占用空间)?

javascript - 不和谐收集器 react 过滤器方式设置最大限制

extjs - 在 Ext JS 中获取 GridPanel 的 HTML

javascript - xcharts 中的颜色条形图

javascript - 如何选择 d3 中的前两个元素并对它们应用过渡?

javascript - d3js svg viewBox 不允许计算 window.innerWidth - 170