我正在尝试使用centroid()函数将弧标签居中,如 D3文档中所述。
arcs.append("text")
.attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; })
.text(function(d) { return "labels"; });
Run Code Online (Sandbox Code Playgroud)
但我在翻译 css 属性时遇到错误:
错误:属性translate=“translate(NaN,NaN)”的值无效
中 (d) 对象的 console.log 之一:
.attr("transform", function(d) { return "translate(" + arc.centroid(d) + ")"; })
Run Code Online (Sandbox Code Playgroud)
返回这个:
data: 80
endAngle: 1.9112350744272506
padAngle: 0
startAngle: 0
value: 80
__proto__: Object
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
HTML:
<div id="firstChart"></div>
Run Code Online (Sandbox Code Playgroud)
JS:
var myData = [80,65,12,34,72];
var nbElement = myData.length;
var angle = (Math.PI * 2) / nbElement ;
var myColors = ["#e7d90d", "#4fe70d", …Run Code Online (Sandbox Code Playgroud)