2015-10-20 67 views
0

我創建了一個可縮放的sunburst,並參考了以下網站。 http://bl.ocks.org/mbostock/4348373如何繫緊d3可縮放的旭日轉換?

問題是我有很多弧在最後一級,即最外層的環(接近2000弧),這是點擊放緩sunburst轉換。

我試圖固定這個過程的一種方法是僅當用戶潛入陽光(點擊任何子弧)時才顯示最外面的弧線。如果最外面的弧是第四個同心圓。僅當用戶選擇2/3級時才顯示。

我創建了初始數據集,使其最大弧的大小設置爲0。然後點擊我寫了一個函數來將大小設置爲1.但它不起作用。下面是鏈接http://jsfiddle.net/Claw_22/1400rdu0/6/

function sizeFunc(data){ 
    if (!data.children) { 
    if (data.level=="3") { 
     data.size="1"; 
    } 
    } 
    else { 
    for (i=0;i<data.children.length;i++) { 
     sizeFunc(data.children[i]); 
    } 
    } 
} 

請讓我知道我們如何才能做到這一點。 (實現更快性能的替代解決方案也很有幫助。)

回答

0

您可以在點擊功能中將轉換持續時間更改爲最小級別。類似以下的東西

function click(d) { 
path.transition() 
    .duration(100) //sets the delay in transition 
    .attrTween("d", arcTween(d));}