TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Deep dive into diagram layout engines: Minimizing hierarchical edge crossings

70 pointsby alixanderwangover 2 years ago

6 comments

graphvizover 2 years ago
Nice writeup, easy to follow.<p>Regarding improvements to crossing minimization, we&#x27;re fans of Brandes and Köpf, &quot;Fast and Simple Horizontal Coordinate Assignment&quot; GD2001 that guarantees linear time and at most two bends per edge. (If anyone would like to implement this in Graphviz let us know!)<p>Regarding introducing additional constraints to address the problem that the algorithm &quot;doesn&#x27;t understand the sensible or hierarchical relationship between the blocks in my diagram&quot; we&#x27;re fans of Yoghourdjian, Dwyer et al, &quot;High-quality ultra-compact grid layout of grouped networks&quot; from IEEEVIS 2015. It looks quite difficult to implement. The figures in the paper took several minutes to generate and probably involved cutting and pasting between several tools.<p>A different approach was taken by Dwyer, Koren and Marriott, in &quot;IPSep-CoLa: An Incremental Procedure for Separation Constraint Layout of Graphs&quot; IEEEVIS 2006 where they introduce a kind of layering or asymmetry into force-directed energy models. This is implemented in Graphviz neato -Gmode=hier
sverhagenover 2 years ago
My problem with automated diagram layouts has always been that the algorithm doesn&#x27;t understand the sensible or hierarchical relationship between the blocks in my diagram, which isn&#x27;t always the same as what the connectors are trying to show. The algorithm optimizes for the connectors (crossings), which certainly contributes to readability, but often at a cost to the overall readability of my diagram.
评论 #34579370 未加载
cm2187over 2 years ago
Has anyone seen anything that can automate the layout of a genealogy tree? It seems like a prime example of those impossible diagrams (if you show siblings and cousins, if you go only in one direction it becomes trivial).
评论 #34579101 未加载
评论 #34579534 未加载
eurasiantigerover 2 years ago
I don’t like the approach of monetizing an algorithm. Once a FOSS competitor gets similar layout capabilities, this product is in trouble.
评论 #34584284 未加载
mhbover 2 years ago
This is the same problem as PCB layout? What happens if you do a two layer board where each part has a few I&#x2F;Os and is a block of the flow chart?
marktangotangoover 2 years ago
This seems like an implementation of Sugiyama algorithm, how is this different?
评论 #34584024 未加载