У меня проблема с обнаружением кругов с одинаковой центральной точкой.У меня есть 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);
});