# How to implement hive plot for graphs in Mathematica?

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: 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.
• 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 -> (
BezierCurve[{#1[],
(#1[] + #1[])/ 2 + {-1, 1}/5 (#1[] - #1[])[[{2, 1}]],
#1[]}] &)
] In GraphPlot you would use EdgeRenderingFunction.

You can also use the built-in "CurvedArc" for the option EdgeShapeFunction:

Graph[{1 -> 2, 2 -> 3, 3 -> 1},
EdgeShapeFunction -> GraphElementData[{"CurvedArc", "Curvature" -> -1/2}]] 