Есть необходимость визуального отображения событий во времени. События должны отображаться древовидно (только не вертикально, а горизонтально), ось Х - время (в годах). События могут ветвится, отделятся в новую ветку, и/или соединятся обратно позднее.
Хороший пример - изображения эволюции *linux, однако в этом примере суть в разделении от одной сущности с ходом времени, в моем же случае события будут преимущественнее обьединяться. Для примера можно указать компании, которые со временем могут или разделяться на две компании, или объединяться (поглощаться) другими компаниями.

Самый идеальный вариант для меня - JavaScript библиотека, ибо хочу результат отображать в браузере.
Если кто-нибудь сталкивался с подобной необходимостью, прошу помощи в поиске решения.