Это будет звучать негативно, это не значит, поэтому я прошу прощения заранее.
Это почти невозможная задача без агрегирования ваших данных. Позвольте мне объяснить, почему.
Во-первых, рассматривали ли вы, насколько большими будут очки? Чтобы сделать это с любой точностью, потребуются точки, находящиеся в области точек размером в один пиксель. Честно говоря, вы не сможете получить диаграмму, показывающую значимые цвета, если каждая точка имеет размер в один пиксель.
Во-вторых, вышеизложенное было бы при условии, что сама диаграмма заполнила весь экран и что все, кто просматривал вашу диаграмму, использовали экран с одинаковым разрешением. Если кто-то смотрел на вашу диаграмму с дисплеем с более низким разрешением, данные либо быть вне экрана или точки будут субпиксельного размера, и исчезнуть.
Если ваши точки больше пикселя, вы должны учитывать физический масштаб диаграммы, и если вы позволяете некоторым частям быть, так сказать, за кадром, то логически вам нужно только визуализировать видимый раздел, что позволяет избежать проблем со временем рендеринга.
Я думаю, что если клиент дал вам это задание, оно было недостаточно хорошо продумано, и вы должны вернуться к ним с этими пунктами.
Если это ваша собственная задача, подумайте еще раз о том, что именно вы хотите показать, и как вы можете агрегировать данные осмысленным образом.