javascript - D3 : Setting selection transform attribute in a nicer way

标签 javascript api d3.js

我使用 d3 一段时间了,但每次我想对 d3 选择应用翻译时,我都会这样做:

 var svg = d3
        .select("svg")
        .attr("transform", "translate(0,$1)".replace("$1", "" + (someHeight)))

注意:someHeight通常是一个计算,否则我会使用字符串连接,我只是觉得这样读起来更好。

我一直在尝试寻找是否有更好的方法来设置转换,也许可以通过 attr 之外的另一个 API

如果问题需要更好的解释,请告诉我。

亲切的问候。

最佳答案

您可以使用d3.transform function解析此属性并以更好的方式操作它:

var t = d3.select("svg").attr("transform");
t.translate[1] = someHeight;
d3.select("svg").attr("transform", t.toString);

您当然也可以使用纯Javascript来设置属性:

d3.select("svg").each(function() { this.setAttribute("transform", ...); });

但这并没有更好。我想调用一个四个字母的函数至少是最简洁的。

关于javascript - D3 : Setting selection transform attribute in a nicer way,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19159969/

相关文章:

javascript - Webpack 以错误的顺序捆绑 CSS

php - 使用 salesforce api 将联系人与帐户相关联

javascript - D3.js v4 颜色到名称映射

javascript - 在 SVG 元素上触发点击事件

javascript - D3.js如何附加本地镜像

javascript - Promise 行为和打印顺序

javascript - 按钮中的 ExtJS 处理程序

javascript - 根本不显示 ionic View

xml - 我应该如何使用 Rails 3.0 创建 REST API?

api - 使用 Shopify API 更新库存数量