如何将我的数字比例(0-50,000)转换为径向进度图表编号?

时间:2016-05-03 14:33:45

标签: javascript d3.js

我尝试设置一个线性范围和域来转换它,但这似乎不起作用。我只需要创建一个完成图表。 50,000是100%,当前值(比方说25,000)。如何将普通值转换为弧度?

这是我到目前为止所拥有的:

var pieScale = d3.scale.linear().range([0, 8]);
    pieScale.domain([0, 50000]);

    var svg = d3.select("#redCircle").append("svg")
                .attr({
                    'preserveAspectRatio': 'xMinYMin meet'
                });


    var marginArc = d3.svg.arc()
                        .startAngle(0)
                        .innerRadius(0)
                        .outerRadius(100);

    var marginArcSvg = svg.append("path")
                            .attr({
                                "d": function (d) {
                                    marginArc.endAngle((2 * Math.PI) * pieScale(25000));
                                    return marginArc();
                                },
                                "transform": function (d) {
                                    return "translate(" + 100 + ", " + 100 + ")"
                                },
                                "fill": "white"
                            });

1 个答案:

答案 0 :(得分:2)

当前值除以50,000可以得出圆圈周围的百分比。然后使用以下 - 代码

将其转换为弧度
var radians = percentage * 2 * Math.PI

来源:HTML5: Fill circle/arc by percentage