d3.js:水平居中<g>元素的父元素'元素
d3.js: Horizontally center a <g> element with an unknown size within it's parent <svg> element
我正在d3.js中创建一个决策树,我在父svg元素中居中它的g元素时遇到了麻烦。元素的宽度是未知的
如何将g元素水平居中?
如果你需要代码样本,让我知道,我会张贴。谢谢!
编辑:var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
.append("g")
.attr("transform", "translate(0,40)")
.attr("id", "decision-tree");
var box = d3.select("#decision-tree").getBBox();
这会导致控制台中出现错误:
Uncaught TypeError: d3.select(…)。getBBox不是一个函数
我似乎找不到任何使用getBBox与d3.js通过谷歌的例子。如果你知道的话,你能举出一些例子吗?
您可以在svg元素之前添加center
元素,使整个svg水平位于中间。但在svg
之后和g
之前插入center
元素是行不通的。您必须使用此解决方案或使用变量来翻译g
元素。请看下面的代码示例:
var svg = d3.select("body")
.append("center")
.append("svg")
.attr("width", width)
.attr("height", height)
svg.append("g")
.append("text")
.text("Blah Blah Blah")
注意下面的代码不会将text
放置在g
的中心:
var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height)
svg.append("center")
.append("g")
.append("text")
.text("Blah Blah Blah")
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- HTML 显示/隐藏元素 JS 不起作用
- 定位 d3 上的其他元素.js事件上
- 如何获取
- 元素 js/ajax 的 Id 值
- 从元素 JS 中获取类
- 单击 html 元素 JS
- 数据未追加到车把中的元素.js
- 如何使用节点逐个获取元素.js Cheerio
- MEJS(媒体元素JS)播放功能
- 检测是否在输入元素JS中输入了特殊字符
- 如何根据下拉选择消除HTML表单中的元素?(JS吗?)
- 带有动态链接标记的可满足元素(JS、jQuery)
- 仅为UL的第一个元素(JS或jquery)添加类的样式
- 自动时间元素js
- 可以't获取API响应的特定元素[JS]
- 修改指定li元素JS的父级
- 奇异:CSS转换元素JS "点击通过"
- 通过文本框获取数组元素(JS验证)