Bri*_*ian 8 html javascript css d3.js
我试图使用D3基本上将标签插入到圆环图的中心.我能够使用我发现的现有代码并对其进行操作,因此图形中间的所有切片都在中间显示,就像那里有一个标签,但我认为只是想弄清楚如何使它成为中心更永久的家.我是JS和D3的新手.
任何帮助都是值得的.
谢谢
这是目前伪造中心标签的代码.
svg.selectAll("text").data(pie(data)).enter()
.append("text")
.attr("class","label1")
.attr("transform", function(d) {
var dist=radius-120;
var winkel=(d.startAngle+d.endAngle)/2;
var x=dist*Math.sin(winkel)-4;
var y=-dist*Math.cos(winkel)-4;
return "translate(" + x + "," + y + ")";
})
Run Code Online (Sandbox Code Playgroud)
mdm*_*dml 16
您可以相当简化代码.由于您已经将饼图居中:
var svg = d3.select("#svgContent").append("svg")
.attr("width",width)
.attr("height",height)
.append("g")
.attr("transform","translate("+width/2+","+height/2+")");
Run Code Online (Sandbox Code Playgroud)
您可以按如下方式添加文本:
svg.append("text")
.attr("text-anchor", "middle")
.text("$" + totalValue);
Run Code Online (Sandbox Code Playgroud)
请注意,由于您只添加一个<text>,因此不需要将任何数据绑定到它,并且可以.text(...)直接传递值而不是函数.