弦生成器→d3.ribbon()。返回的函數使用二次貝塞爾曲線鏈接兩個圓弧,以構成封閉的弦的路徑數據。
從d3.ribbon()返回函數的做用來看,弦其實可分爲兩部分,一部分爲兩個圓弧,一部分爲二次貝塞爾曲線。貝塞爾曲線是d3.ribbon()返回的函數幫咱們生成的,那咱們只須要畫兩個圓弧(起始圓弧,結束圓弧)就能夠了。畫圓弧(arc)的須要的參數爲半徑、起始角度、結束角度。所以咱們就能夠知道弦生成器須要的參數形式爲:
var data = { source : { radius : XXX, startAngle : XXX, endAngle : XXX }, target : { radius : XXX, startAngle : XXX, endAngle : XXX }};
既然須要這樣的參數,就須要指定每一個參數的訪問器函數,所以d3提供了:ribbon.source([source])、ribbon.target([target])、ribbon.radius([radius])、ribbon.startAngle([angle])、ribbon.endAngle([angle])。
源碼: