小编sim*_*uns的帖子

d3.js arc.centroid(d) :错误:<text> 属性转换的值无效 =“translate(NaN,NaN)”

我正在尝试使用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)

javascript svg d3.js

1
推荐指数
1
解决办法
2209
查看次数

标签 统计

d3.js ×1

javascript ×1

svg ×1