Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I'm trying to implement a version of the hive plot advocated in [Kryzywinski, et al., 2012]. There are many examples of such graphs on the author's webpage.

It would be good enough for me to have three axes. I'm now able to project the coordinates onto three axes and style my graph like this via VertexCoordinates:

basic hive

First of all, is there any way to make edges be arcs and not straight lines?

  1. Krzywinski M, Birol I, Jones S, Marra M (2012). Hive Plots — Rational Approach to Visualizing Networks. Briefings in Bioinformatics 13(5), 627-644.
share|improve this question
1  
You mean edges, not vertices, right? –  Sjoerd C. de Vries Oct 7 '12 at 20:10
    
Yes, thanks for spotting my mistake. –  iav Oct 8 '12 at 6:19

1 Answer 1

In Graph you can use EdgeShapeFunction to make curved edges.

Graph[{1 -> 2, 2 -> 3, 3 -> 1}, 
 EdgeShapeFunction -> (
    BezierCurve[{#1[[1]], 
                (#1[[1]] + #1[[2]])/ 2 + {-1, 1}/5 (#1[[1]] - #1[[2]])[[{2, 1}]], 
                 #1[[2]]}] &)
]

Mathematica graphics

In GraphPlot you would use EdgeRenderingFunction.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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