Plotting graph objects with curved edges and forced layout
19 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Shaybe
il 5 Ago 2016
Risposto: Sean de Wolski
il 5 Ago 2016
I have a graph that I want to plot in a specific layout. My closest attempt is
plot(G,'layout',,'layered','Sources',[1 6] ,'Sinks',[5 10],'direction','right','linewidth',LWidths);
...
I can force X and Y coordinates of nodes in my graph to achieve the layout I want by using:
plot(G,'layout','force','Iterations',0,'XStart',X,'YStart',Y,'linewidth',LWidths);
...
However, this method causes some edges to overlap and become indistinguishable.
Is there any way to get curved edges at this point?
0 Commenti
Risposta accettata
Christine Tobler
il 5 Ago 2016
Modificato: Christine Tobler
il 5 Ago 2016
You could try this:
plot(G,'Layout','layered','Sources',1:5 ,'Sinks',6:10,'linewidth',LWidths);
This will place all nodes 1 to 5 on one layer, and nodes 6 to 10 on another, with the curved lines between nodes on the same layer.
2 Commenti
Christine Tobler
il 5 Ago 2016
That's too bad, I'm afraid there's no way of choosing the order of the nodes in a layer (they are permuted to try to minimize the number of edge crossings, which is not really necessary here, of course).
You could try the circle layout, perhaps coupled with giving the two groups of nodes different colors again. That would have nodes 1 to 5 on one side of the circle, and nodes 6 to 10 on the other side.
Più risposte (1)
Vedere anche
Categorie
Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!