Я не думаю, что автоматические c макеты в пакете GraphViz могут помочь вам здесь, в одиночку. В то время как в верхней и правой части графика выглядит как обычная древовидная структура, которую легко реализовать с помощью иерархического стиля «точка», трудной частью было бы получить стиль матрицы в центре графика или, более конкретно, объединение двух макетов деревьев в матрице.
Даже с более сложной библиотекой диаграмм и макетов этот тип компоновки потребует некоторой ручной настройки и дополнительного кодирования (какие узлы принадлежат верхней и правой части, а какие принадлежат части «матрицы», и др c.).
Если вы попробуете yFiles , вам нужно будет объединить два экземпляра TreeLayout, один GenericPartitionGridStage в сочетании с LayoutMultiplexer, один TabularLayout и StraightLineRouter или использовать собственный «LayoutStage» для простого "матричная часть". Выполнимо и выполнимо, но, конечно, не простая задача.
Полное раскрытие: я работаю в компании, которая создает вышеупомянутую библиотеку макетов графиков. Я не представляю своего работодателя здесь на SO, хотя. Мысли и комментарии мои.