> [Wiki](Home) ? [[API--中文手冊]] ? [[布局]] ? **餅布局**
* 如發現翻譯不當或有其他問題可以通過以下方式聯系譯者:
* 郵箱:zhang_tianxu@sina.com
* QQ群:[D3數據可視化](http://jq.qq.com/?_wv=1027&k=ZGcqYF)205076374,[大數據可視化](http://jq.qq.com/?_wv=1027&k=S8wGMe)436442115
餅布局方便與計算組成餅圖或圈圖的弧的開始和結束的角度:
餅布局并不是只能繪制餅狀圖,如果你喜歡,你還可以直接用她來繪制弧形狀。餅布局會簡單的將一個數據數組(如字符串數據)轉換成一個對象數據,這個對象數組中會包含開始角度和結束角度,這些角度的范圍為0到2π,然后傳給弧形生成器。
# d3.layout.pie()
構造一個新的餅圖函數,使用默認的值訪問器(數值)、進行比較排序(降序)、開始角度(0)、結束角度(2π);返回的布局對象即是對象也是一個函數,這就意味著:你可以想調用方法一樣調用該布局對象,布局還具有改變其行為的其他方法;就像D3的其他類型方法一樣,餅布局也支持方法鏈模式,setter方法返回布局自身,允許在一個簡單的申明中調用多個setter方法。
# pie(values[, index])
用指定的values數組計算餅函數。一個可選的index 參數會被傳遞給開始和結束的函數;返回值是一個數組,數組元素包含以下屬性:
? value - 數據值,計算來自于value 生成器;
? startAngle - 弧的開始弧度,非角度;
? endAngle - 弧的結束弧度,非角度;
? data - 數據原生的值;
按照原生的排序返回元素,匹配values參數,即使排序順序已經應用了;這保證了數組中每個元素原生的索引,這是非常好的,當你使用原生的值數組來匹配顏色分類時。
# pie.value([accessor])
指定如何從關聯的數據提取值(如:給餅圖綁定一個訪問器函數);accessor 是一個函數,會在每個輸入值傳給pie時調用,原理相當于在計算餅布局前,先調用了values.map(accessor);該函數可以傳兩個參數:當前的數據d和所在索引i;默認的值函數是內置的Number,類似于特征函數;如果未指定accessor ,則返回當前的訪問器 。
# pie.sort([comparator])
如果指定comparator ,則設置數據的排序方法為指定的;傳入null來禁止排序;如果未指定comparator ,則返回當前的comparator ;默認的排序方法是降序;排序會保留原生數據的索引,只會影響到角度;排序函數會在每對傳給 pie的數據上調用;當然,該排序函數你可以使用 d3.ascending 或 d3.descending代替。
# pie.startAngle([angle])
如果指定angle ,則設置餅布局所有的起始弧度為指定值:如果未指定angle ,返回當前的值,默認為0;起始弧度可以被指定為常數或一個函數,如果是函數,當 pie被調用時,會進行一次起始弧度的計算,被傳遞的參數有:當前數據d和索引i。
# pie.endAngle([angle])
如果指定angle ,則設置餅布局所有的起始弧度為指定值:如果未指定angle ,返回當前的值,默認為2π;起始弧度可以被指定為常數或一個函數,如果是函數,當 pie被調用時,會進行一次起始弧度的計算,被傳遞的參數有:當前數據d和索引i。
* 魏飛譯 2014-07-16-19-25
* 咕嚕校對 2014-11-30 21:19:34