在sunburst中,我怎樣才能讓代碼選擇一個根弧,就在所有弧生成之後?選擇弧/元素
例如,代碼:
var first_arc = ""
.json("../data/flare.json", function(json) {
var path = vis.data([json]).selectAll("path")
.data(partition.nodes)
.enter().append("path")
.attr("display", function(d) { return d.depth ? null : "none"; })
.attr("d", arc)
.attr("t_name", function(d) {return d.name})
.style("fill-rule", "evenodd")
.on("click", function(d)...
它將作爲點擊中間弧「d」的「功能」被傳遞。
(其數據先行在JSON文件)
更新1:更改像這樣的代碼...
.style("fill-rule", function(d) {
if (first_arc == "") first_arc = d; return "evenodd"})
...解決了這個問題,它返回object
:
name: "flare"
children: Array[10]
...
但這種解決方案看起來不正確,不是一般的。
更新2:我嘗試了幾種選擇,例如:
first_arc = d3.select("[name='flare']")
它通常返回array
:
0: null
length: 1
parentNode: HTMLHtmlElement
__proto__: Array[0]
或 「未定義」
更新3:
first_arc = d3.select("[t_name='flare']")
收益大小爲1 array
兒童:
0: SVGPathElement
__data__: Object
,其中__data__
是經過我的對象,但我不能管理,將其選中。
要清楚:你是否想讓代碼選擇元素,還是要求用戶單擊一個弧並直接處理? – Phrogz 2012-07-27 15:23:14
嘗試讓代碼選擇元素,直到電弧生成完成。 – alm 2012-07-27 15:33:08
那我還是不明白你的問題是什麼。你可以使用['d3.select()'](https://github.com/mbostock/d3/wiki/Selections#wiki-d3_select)方法。你嘗試過嗎?如果是這樣,你的代碼是什麼,你得到了什麼錯誤(和你期望的是什麼)? – Phrogz 2012-07-27 16:05:01