How to make a directed, circular chord plot in MATLAB

I am attempting to represent a network using a circle of nodes, with connetions going to/from different nodes in a directed manner. I have been using the digraph object with some success, but have discovered that the lines drawn to/from different nodes using that object are always perfectly straight unless there happens to be a reciprocally connected pair of nodes (in which case some arc is added to the connections). Is there anyway to make a directed graph that has curved connections--bent at different angles depending on distance between nodes.
Essentially, I want to recreate the result from Kassebaum's circularGraph (https://www.mathworks.com/matlabcentral/fileexchange/48576-circulargraph), but with directed connections.
On a related note, I am thinking that I could use half-arrows whenever there is a reciprocal connection (so that there's room for both to/from connections to be displayed). Is this at all possible?

 Réponse acceptée

darova
darova le 18 Sep 2019

1 vote

Here is a simple method how to draw arcs
img1.png img2.png
img3.png img5.png
see attached script

4 commentaires

Thanks. This is closer to what I want. I still need to figure out how to add directionality to each line via incorporating an arrow of some sort. This is really easy to do using the digraph function, but I'm guessing I'll have to hack out a solution if I want the arc behavior. If you have any tips on how to add arrows to this, please let me know. Here's to hoping Matlab adds some additional functionality to their digraph object.
darova
darova le 24 Sep 2019
Modifié(e) : darova le 24 Sep 2019
How arrows should look like? Can you draw an example?
I would like arrows to show the directionality of each connection in the graph, with each arrow placed at the center of each line/arc.
See attached script
Look also HERE

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graph and Network Algorithms dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by