В последнее время я много читал о графических библиотеках для Java и Javascript, но не нашел хорошего способа сделать то, что хочу.
По сути, у меня есть иерархия наборов относительно набора элементов (до нескольких тысяч ). Эти множества могут полностью или частично перекрываться, полностью перекрывать или полностью не пересекаться друг с другом. Что я хотел бы сделать, так это отобразить следующую информацию:
Изменить:Возможно, мне следует привести пример того, что я имею в виду под множествами, элементами и частично перекрывающимися иерархиями. Ниже приводится более -упрощенная версия множеств, с которыми я имею дело (обратите внимание, что числа1
-10
и письмаa
-h
и X
представляют элементы, сравнимые друг с другом):
Set1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11}
Set2 = {1, 2, 3, 4, 5, 6}
Set3 = {1, 2, 3}
Set4 = {1, 4, 5, 6, 7}
Set5 = {a, b, c, d, e, f, g, h}
Set6 = {a, b, c, d, e}
Set7 = {a, b, c, 7}
Set8 = {2, 4, 7, 8, c, f}
Set9 = {X}
Я не уверен, как я буду отображать эту информацию интуитивно понятным способом. Я видел графики Вороного ¹ , ² , которые мне очень нравятся визуально, однако они имеют другую математическую основу, поэтому я не думаю, что смогу изобразить те иерархии, которые у меня есть. должным образом. Я хотел бы создать эти графики во время выполнения (в случае Java )или с использованием Javascript в случае развертывания HTML, и то, и другое прекрасно. Однако одним из ограничений является то, что графики должны быть либо созданы, либо могут быть экспортированы в векторную графику с высоким -разрешением.
Коротко о моих вопросах:
Спасибо!
Изменить:Моя потенциальная идея заключалась в том, чтобы разместить все элементы в универсальном наборе в виде шестиугольной сетки с наложением желаемого цвета, а затем нарисовать границы для наборов. Однако с этой идеей связано несколько проблем, в частности проблема определения местоположения элементов, чтобы наборы не были разделены по всему графу. Есть комментарии/предложения?