d3 v5 добавить точки на вложенную линейную диаграмму - PullRequest
0 голосов
/ 04 октября 2019

Мне нужно добавить точку на линиях значений для каждой точки данных (т. Е. X = год, y = # область событий BY). У каждого региона есть своя собственная строка для функции гнезда. Пожалуйста, см. Строчку ниже.

https://jsfiddle.net/32yL4bd9/

Данные вложены 2 раза и имеют накопительный пакет:

  var nest = d3.nest()
    .key(function(d) {
      return d.region;
    })
    .key(function(d) {
      return d.date;
    })
    .rollup(function(leaves) {
      return d3.sum(leaves, function(d) {
        return parseInt(d.count, 10);
      });
    })
    .entries(dataset)

Я считаю, что это проблема с вложенными даннымии зацикливание. Я попытался добавить точку следующим образом:

        // Draw dots on line
        svg
          .selectAll(".dot")
          .data(nest)
          .enter()
          .append("circle")
          .attr("class", "dot")
          .attr("cx", function(d, i) {
            return xScale(new Date(d.values.key));
            // d.values.forEach(function(value){
            //   return xScale( new Date(value.key))
            // })
          })
          .attr("cy", function(d) {
            return yScale(d.values.value);
            // d.values.forEach(function(value){
            //   return yScale(Number(value.value))
            // })
          })
          .attr("r", 5);

...