сила направлена ​​p ie ошибка меток диаграммы Uncaught TypeError: Невозможно прочесть свойство 'length' неопределенного значения - PullRequest
0 голосов
/ 02 августа 2020

Я разрабатываю визуализацию данных, используя график, направленный по силе, и диаграмму p ie в D3. js. У меня есть вариант использования, когда мне нужно отобразить p ie -chart на конкретном узле типа c. Мне это удалось. ниже приведен его код.

var color = d3.scale.category10();
var radius = 35
var pie = d3.layout.pie()
                   .sort(null)
                   .value(function(d) { return d.value});

var arc = d3.svg.arc()
                .outerRadius(radius)
                .innerRadius(20);
                    
var grouparcs = g.selectAll("arc")
                 .data()
                 .enter()
                 .append("g")
                 .attr("class", "arc")

grouparcs.append("text")

text.attr("transform", function (d) {
       return "translate(" + d.x + "," + d.y + ")";
     })
     .attr("dy", ".50em")
     .style("text-anchor", "middle")
     .text(function(d) {
       return d.data.id 
     });

var piechart = node.selectAll("path")
                   .data(function(d, i) { return pie(d.proportions)})
                   .enter()
                   .append("svg:path")
                   .attr("d", arc)
                   .attr("fill", color)        
                   .style('visibility', "hidden")

Теперь мне нужно отобразить метки на круговой диаграмме, для которой я написал следующий фрагмент кода в приведенном выше js

var grouparcs = g.selectAll("arc")
                 .data(pie())
                 .enter()
                 .append("g")
                 .attr("class", "arc")

grouparcs.append("text")

text.attr("transform", function (d) {
       return "translate(" + d.x + "," + d.y + ")";
     })
     .attr("dy", ".50em")
     .style("text-anchor", "middle")
     .text(function(d) {
       return d.data.id 
     });

но когда я запускаю это, я получаю следующую ошибку:

Uncaught TypeError: Cannot read property 'length' of undefined at .data(pie()) line

Как получить текстовые метки на ar c в диаграмме p ie на узлах силового ориентированного графа.

ниже - часть моего узла json

{
  size: 100,
  id: "drug1",
  name: "drug1",
  type: "circle",
  category: "DRUG_node",
  proportions: [
    {
      group: 1,
      value: 1,
      category: "DRUG_node",
      id: "drug1"
    },
    {
      group: 2,
      value: 1,
      category: "DRUG_node",
      id: "drug1"
    },
    {
      group: 3,
      value: 1,
      category: "DRUG_node",
      id: "drug1"
    }
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...