Определение типа объекта в d3.js версии 5? - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь нарисовать кольцевую диаграмму, используя d3.js v5.При вычислении центроида для позиционирования этикетки я получил ошибку в arc.centroid(d).

Моя ошибка

Argument of type 'PieArcDatum<number | { valueOf(): number; }>' is not 
assignable to parameter of type 'DefaultArcObject'.ts(2345)

(parameter) d: d3.PieArcDatum<number | {
   valueOf(): number;
}>

Мой код

   var arc = d3.arc()
  .innerRadius(radius * 0.67)
  .outerRadius(radius - 1);

  var text = g.selectAll("text")
  .data(pieData)
  .enter()
  .append("text")
  .attr("transform", d =>  {
    return  "translate(" + arc.centroid(d) + ")"
  })
  .attr("dy", "0.35em");

Пожалуйста, помогите мне решить эту проблему.

Спасибо.

1 Ответ

0 голосов
/ 27 декабря 2018

Значение текста не отображается, кажется.Рефакторинг код приведен ниже.

 var text = g.selectAll("text")
  .data(pieData)
  .enter()
  .append("text")
  .attr("transform", d =>  {
    return  "translate(" + arc.centroid(d) + ")"
  }).attr("dy", "0.35em").text("test");
...