GOJS,节点周围的甜甜圈图表

时间:2018-05-29 03:03:21

标签: javascript donut-chart gojs

我正在尝试设计一个节点模板,其中它将在节点周围有一个圆环图,如下例所示:

This is the how I want it to look

节点数据将为5个不同的属性提供5个值,并且它们将在节点周围用不同的颜色表示。

我看过GoJs饼图示例https://gojs.net/latest/samples/pieCharts.html

我正在尝试在饼图中添加空心圆,使其看起来像圆环图。我从GoJs Shapes https://gojs.net/latest/samples/shapes.html

Ring Shape 开始

所以,我正在修改Pie-Chart示例中的函数 makeGeo 。以下是我的代码。

function makeGeo(data) {
    var start = data.start;
    var sweep = data.sweep;
    var end = start + sweep;
    var param1 = 8;
    var w = 100;
    var geo = new go.Geometry();
    var rad = w / 2;

    var fig = new go.PathFigure(rad, rad, true);  // clockwise
    geo.add(fig);
    fig.add(new go.PathSegment(go.PathSegment.Arc, start, sweep, rad, rad, rad, rad));

    var rad2 = Math.max(rad - param1, 0);
    if (rad2 > 0) {  // counter-clockwise
        //fig.add(new go.PathSegment(go.PathSegment.Move, rad + rad2, rad));
        fig.add(new go.PathSegment(go.PathSegment.Arc, end, -(sweep), rad, rad, rad2, rad2));
    }

    geo.defaultStretch = go.GraphObject.Uniform;
    return geo;
}

This is my output so far

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

您已经两次调用 PathSegment.close 。我建议你最后一次调用它,而不是第一次。