JSFiddle - React, Tailwind, and code Playground

JavaScript

const data = [
    {id: 1, x: 1, y: 1},
    {id: 2, x: 2, y: 2},
    {id: 3, x: 1, y: 1},
]

const makeXYMap =  (data) => data.reduce((acc, cur) => {
	const { x, y } = cur;
  const entry = acc[`${x}_${y}`];
  
  if (entry) {
		acc[`${x}_${y}`] = {...entry, count: entry.count + 1};
  } else {
  	acc[`${x}_${y}`] = { x, y, count: 1 };
  }

	return acc;
}, {});

const makeArray = (XYMap) => Object.values(XYMap);

console.log(makeArray(makeXYMap(data)));