Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
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

In Graph you can use EdgeShapeFunction to make curved edges.

Graph[{1 -> 2, 2 -> 3, 3 -> 1}, 
 EdgeShapeFunction -> (
                (#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


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.