У меня есть график событий, которые я планирую. Каждое событие представлено кругом, радиус которого масштабируется до количества событий для заданной временной метки. Образец данных:Данные временной шкалы кластеров в d3
[
{
date: <Date>,
count: 4
},
{
date: <Date>,
count: 9
},
{
date: <Date>,
count: 4
},
{
date: <Date>,
count: 3
}
]
Пример шкалы времени выхода из данных выше
Обратите внимание, что два из кругов перекрываются. Это происходит даже при увеличении временной шкалы. Я хотел бы реализовать какую-то кластеризацию данных, чтобы круги, перекрывающиеся, были объединены в один круг, который суммирует количество событий и усредняет дату события. Таким образом, в приведенном выше примере у вас будет три круга с подсчетом 4, 13 и 3. Масштабирование на временной шкале в конечном итоге достигнет точки, в которой могут быть нарисованы все 4 круга, поэтому в этот момент ни одна из данных точки будут сгруппированы.
Одна из последних морщин, мне также хотелось бы, чтобы график реагировал на изменение размера браузера. Уменьшение размера браузера уменьшает пространство, доступное для временной шкалы, поэтому мне нужно собрать больше данных, чтобы оно соответствовало.
Любые предложения приветствуются.
Вот пример временной шкалы в ее текущем состоянии. [[link] (http://codepen.io/gtb104/pen/ByovgE)] – Geoff