當我在元素上運行d3.select(this).attr("transform")
時,得到的響應爲translate(20.00,778)
。不過,我需要獲得翻譯的個人價值。D3 v4獲取元素的翻譯值
在v3中,可以使用
var t = d3.transform(element.attr("transform"));
t.translate;
然而d3.transform不V4使用。如何達到相同的結果?
當我在元素上運行d3.select(this).attr("transform")
時,得到的響應爲translate(20.00,778)
。不過,我需要獲得翻譯的個人價值。D3 v4獲取元素的翻譯值
在v3中,可以使用
var t = d3.transform(element.attr("transform"));
t.translate;
然而d3.transform不V4使用。如何達到相同的結果?
試試這個。
string = element.attr("transform");
translate = string.substring(string.indexOf("(")+1, string.indexOf(")")).split(",");
然後,您可以通過translate [1]翻譯[0]和dy來訪問dx。
儘管使用D3函數會很乾淨,但這對於暫時有幫助 – Joel
這不適用於邊緣,因爲邊緣將參數與空白分開,如translate(10 20)而不是translate(10,20)像鉻和火狐。 – user2553930
你可以通過創建你自己的功能來實現它。此答案顯示如何執行此操作:http://stackoverflow.com/a/38230545/5768908 –
https://stackoverflow.com/questions/20340263/d3-retrieve-and-add-to-current-selections-attribute-值 –