javascript - D3 - 在 SVG 中附加 SVG
问题描述
我一直在尝试在 SVG 中附加一组 SVG。所以,在 SVG 内部,我想创建一个函数来制作绘图。但是,这并不像我预期的那样工作,因为内部 SVG 没有根据我的规范的尺寸。所以,我想知道出了什么问题。
svg_g_g = svg_g.append("g")
.selectAll("g")
.data(data)
.enter()
.append("g")
.attr("transform", function(d) {
return "translate(" + xScale(d.key) + "," + lift + ")"
})
.append("svg")
.attr("width", function(d) { return xScale(d.key) })
.attr("height", height)
.append("line")
.style("stroke", "black")
.attr("x1", function(d) { return xScale(d.key) })
.attr("y1", height-100)
.attr("x2", function(d) { return xScale(d.key) + 50 } )
.attr("y2", height-100);
而如果我将数据绑定到 g(不附加 svg),结果看起来更有希望。
svg_g_g = svg_g.append("g");
svg_g_g.selectAll("line")
.data(data)
.enter()
.append("line")
.style("stroke", "black")
.attr("x1", function(d) { return xScale(d.key) })
.attr("y1", height-100)
.attr("x2", function(d) { return xScale(d.key) + 50 } )
.attr("y2", height-100);
这就是结果。(注意:在这种情况下显示了线条)
任何帮助将不胜感激。
编辑:我打算做的是我想创建一个箱线图,我在这里使用“iris”数据集,因为我可以将它与其他数据可视化库进行比较。当前状态我尝试为每个类别创建一个大小相等的 SVG,我将使用它来包含箱线图。换句话说,在我成功创建内部 SVG 之后,我将调用一个函数从那里制作绘图。有点像迈克在这里做的想法。
解决方案
推荐阅读
- c# - 删除 Datagridview 值中的前导字符并输出到其他列 c# windows 应用程序
- java - 如何获取我在另一个对象中创建的变量
- mongodb - 如何从所有集合中删除一个字段?
- visual-studio - asp.net 核心中的“应用程序 URL 不能包含查询字符串或片段”错误
- python - 将其转换为 .py 文件后,我们可以在 python shell 中运行 .ipynb 文件吗
- java - 授权标头未显示在 CURL springdoc-openapi-ui 中
- reactjs - 即时图像预览不起作用
- python - 尝试从发布请求中保存文件时出错
- typescript - 如何使用 Jest 测试 Rxjs 空操作符
- r - 为什么我不能使用 map 将函数应用于 lm fit 列表?