Визуализация иерархий наборов в виде графиков с цветовой кодировкой

В последнее время я много читал о графических библиотеках для 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, и то, и другое прекрасно. Однако одним из ограничений является то, что графики должны быть либо созданы, либо могут быть экспортированы в векторную графику с высоким -разрешением.

Коротко о моих вопросах:

  1. Есть ли хороший способ визуализировать данные, которые у меня есть? Если да, существует ли она в готовой к реализации форме (, то есть в виде библиотеки )?
  2. Если нет простого решения проблемы, другими словами, если мне в этом случае нужно изобретать велосипед, как мне реализовать такой граф самому? Что такое хорошая отправная точка? На что я обращаю дополнительное внимание?

Спасибо!

Изменить:Моя потенциальная идея заключалась в том, чтобы разместить все элементы в универсальном наборе в виде шестиугольной сетки с наложением желаемого цвета, а затем нарисовать границы для наборов. Однако с этой идеей связано несколько проблем, в частности проблема определения местоположения элементов, чтобы наборы не были разделены по всему графу. Есть комментарии/предложения?

20
задан ErikE 25 July 2012 в 20:00
поделиться