I'm trying to create something similar to this.

enter image description here

So, 3 different Node classes, and a whole bunch of relationships between them. In my case, there should be roughly half of the number of nodes present at most.

What I'm looking for is recommendations as to the best way to create a similar type of graph. Spent some time looking at R/GGplot2, but haven't found any solutions so far. I expect it's because I'm not using the correct vocabulary.

The posted image was created using a proprietary app that I unfortunately am not able to leverage, otherwise I'd simply use that.

Any suggestions/solutions would be fantastic!

  • $\begingroup$ The thread at stats.stackexchange.com/questions/9040/… is closely related: although the application is different, it concerns visualizing bipartite graphs. $\endgroup$
    – whuber
    Apr 11 '11 at 14:59
  • 1
    $\begingroup$ You might want to also check out some of the other questions with the tag network, stats.stackexchange.com/questions/tagged/networks . They will have suggested graphics and tools to do those graphics as well. $\endgroup$
    – Andy W
    Apr 11 '11 at 16:28
  • 1
    $\begingroup$ With Graphviz you can easily make graphs like this: graphviz.org/content/unix $\endgroup$
    – GaBorgulya
    Apr 11 '11 at 17:01
  • 1
    $\begingroup$ unfortunately that's not standard terminology. I was just referring to some methods using that term in order to more easily distinguish them from some of the other approaches being discussed. The overlap in meanings of the term "graph", especially in this visualization context is unfortunate and makes Google searches more challenging. $\endgroup$
    – cardinal
    Apr 11 '11 at 17:20
  • 1
    $\begingroup$ Try Pajek. It also supports plethora of export options, so you can easily modify figure in dedicated software (e.g. Inkscape). $\endgroup$
    – Andrej
    May 4 '11 at 15:51

Gephi, an open source network visualization software, can do that: http://gephi.org

See this recent discussion on what a user was able to do with a bipartite graph, which is what you have. It is also called a bipartite network, or a two-mode network in Social Network Analysis.

Thought you'll need some trick, because Gephi doesn't have a layout to handle that directly. Feel free to ask the user how did I get that.

(disclamer: I'm part of this community)

  • $\begingroup$ Great, thanks for the idea Seb. Checking it out now. $\endgroup$ May 4 '11 at 14:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.