Jeffの回答を更新するだけです:
色:
色参照を関数に渡します:r.customAttributes.segment = function (x, y, r, a1, a2, color) {...
データの後にカラー配列変数を追加します。var data = [90, 90, 90, 90], color = ['#ff0000', '#00ff00', '#0000ff', '#ff0000'], ...
最後のループで:
            start = 0;
            for (i = 0; i < ii; i++) {
                var val = 360 / total * data[i];
                var col = color[i]; //Add color from array
                (function (i, val) {
                    //Here we pass the color (col)
                    paths.push(r.path().attr({segment: [200, 200, 1, start, start + val, col], stroke: "#fff"}).click(function () {
            ...
編集:
an then ( Matt Ballのvar props {パートに感謝)
r.customAttributes.segment = function (x, y, r, a1, a2, color) {... を次のように変更します。
                var flag = (a2 - a1) > 180;
                a1 = (a1 % 360) * Math.PI / 180;
                a2 = (a2 % 360) * Math.PI / 180;
                var props = {
                    path: [["M", x, y], ["l", r * Math.cos(a1), r * Math.sin(a1)], ["A", r, r, 0, +flag, 1, x + r * Math.cos(a2), y + r * Math.sin(a2)], ["z"]]
                };
                if (color) {
                    props.fill = color;
                }
                return props;