删除d3圆环图上显示的标签线?

时间:2017-05-23 14:18:23

标签: javascript d3.js

实际上我正试图去除甜甜圈弧上出现的部分标签线,即想要在甜甜圈图表外面开始谎言。 使用的代码是

var outerArc = d3.arc()
            .outerRadius(radius * 0.9)
            .innerRadius(radius * 0.9);

function midAngle(d) { return d.startAngle + ((d.endAngle - d.startAngle)) / 2; }
  if (lablesettings.show) {

        var enteringLabels = svg.selectAll(".polyline").data(pie(viewModel.dataPoints)).enter();
        var labelGroups = enteringLabels.append("g")
                                        .attr("class", "polyline")
                                        .style("fill", "none")
                                        .style("stroke", "grey")
                                        .style("stroke-width", "1px")
                                        .style("opacity", "0.4");

        var line = labelGroups.append("polyline").attr('points', function (d) {
            var arccentroid = arc.centroid(d);
            var pos = outerArc.centroid(d);
            pos[0] = radius * 0.95 * (midAngle(d) < Math.PI ? 1 : -1);
           //var fpos=((arccentroid[0]+pos[0])/2 (arccentroid[1]+pos[1])/2);
           return [arc.centroid(d), outerArc.centroid(d), pos
        });

请建议我根据我的要求进行修改。 在此先感谢:)

1 个答案:

答案 0 :(得分:0)

您的代码不完整。点数组停在它开始变得有趣的地方。你可以发表其余的陈述吗?

从我目前所看到的情况来看,我要说从public class Org : BaseEntity { public string Name { get; set; } } public class Portfolio : BaseEntity { public string Name { get; set; } public bool IsPrivate { get; set; } public string Organization { get; set; } public getOrganization{get{return _repo<Org>.getOrgById(this.Organization)}} } 数组中移除arc.centroid(d)