d3.js - обнаружение кругов с одинаковым центром - PullRequest
0 голосов
/ 05 октября 2018

У меня проблема с обнаружением кругов с одинаковой центральной точкой.У меня есть N кругов на графике. У некоторых из этих кругов может быть точно такая же позиция (x, y) центра.Я хочу указать это, показывая, например, «+1» внутри этого круга.

Я хотел бы спросить вас, знаете ли вы, как этого добиться?Как я могу определить, какие из элементов данных находятся точно в одной позиции?Я не хочу сравнивать каждый пункт с другим, надеюсь, есть лучшее решение.

Пока создание кругов на основе данных выглядит следующим образом.

this.svg
      .selectAll('circle')
      .data(this.data.suppliers)
      .enter()
      .append('circle')
      .classed('chart-item', true)
      .style('fill', function(supplier, idx) {
        return 'red';
      })
      .attr('cx', supplier => {
        if (supplier.x) return this.xScale(supplier.x);
        else return 0;
      })
      .attr('cy', supplier => {
        if (supplier.y) return this.yScale(supplier.y);
        else return 0;
      })
      .attr('r', supplier => {
          return 10;
        }
      })
      //HIGHLIGHT selected supplier
      .classed('highlighted', supplier => {
        if (
          supplier.id === this.data.selectedSupplier.id &&
          supplier.id === this.data.selectedSupplier.id
        ) {
          return true;
        } else {
          return false;
        }
      })
      // .select(function(supplier){that.showTooltip({left:120,top:120},supplier)})
      .on('mousemove', function(supplier) {
        that.handleMouseMove(this, supplier);
      })
      .on('mouseout', function() {
        that.handleMouseOut(this);
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...