分區圖的布局比較簡單,本章介紹一下分區圖的參數。
分區圖布局為:
~~~
d3.layout.partition()
~~~
其函數有6個。
# nodes()
將根數據傳入后,得到的節點的數組,每個節點添加8個參數:
- parent - 父節點
- children - 子節點
- value - 表示節點的大小,由下面 value() 函數指定的值,父節點的值等于子節點值的和
- depth - 節點的深度
- x - 節點的x方向的坐標(不一定指x軸方向,跟據 size() 函數的意義而定)
- y - 節點的y方向的坐標(同上)
- dx - x方向擴展的寬度(同上)
- dy - y方向擴展的寬度(同上)
# links()
將上述節點數組傳入后,得到連接線的關系,起點和終點分別存在 source 和 target 變量中。
# children()
指定表示子節點的字符串。默認是:
~~~
function children(d) {
return d.children;
}
~~~
表示在 JSON 文件中,子節點的變量符號用 children 表示:
~~~
{
"name":"中國",
"children":
[
{
"name":"浙江" ,
"children":
[
{"name":"杭州" },
{"name":"寧波" },
{"name":"溫州" },
{"name":"紹興" }
]
}
]
}
~~~
# sort()
指定對同深度的節點進行排序的函數。如果不排序,則按照默認順序顯示。排序函數與JavaScript 相同:
~~~
function comparator(a, b) {
return b.value - a.value;
}
~~~
對于以上函數,如果第一個參數應該位于第二個參數之前則需令其返回一個負數,如果相等則返回0,如果第一個參數應該位于第二個之后,則令其返回一個正數。
# value()
設定用哪一個值來表示節點大小。如:
~~~
function value(d) {
return d.size;
}
~~~
這樣設定的話,用節點里的 size 值來表示節點的大小。
# size()
設置分區圖的范圍。【[進階 - 第 3.0 章](#)】和【[進階 - 第 3.1 章](http://www.ourd3js.com/wordpress/?p=653)】中展示了當 size 函數的設定不同時,圖表如何不同。
如果是方形的:size( [ width , height ] )
如果是圓形的:size( [ 2 * Math.PI, radius * radius?] ) ? ? ?// radius 為圓的半徑
### 文檔信息
- 版權聲明:署名(BY)-非商業性(NC)-禁止演繹(ND)
- 發表日期:2014 年 12 月 7?日
- 更多內容:[OUR D3.JS - 數據可視化專題站](http://www.ourd3js.com/) 和 [CSDN個人博客](http://blog.csdn.net/lzhlzz)
- 備注:本文發表于 [OUR D3.JS](http://www.ourd3js.com/) ,轉載請注明出處,謝謝