How can I plot curved lines in a graph plot?
7 views (last 30 days)
Show older comments
The 'layered' layout of the plot function for a graph makes good looking plots (Figure A).
H = digraph(Adjacencymatrix);
h = plot(H,'Layout','layered','AssignLayers','alap','Sources',numel(Lind),'Sinks',leafind,'EdgeCData',1.1-H.Edges.Weight./7,'LineWidth',1,'NodeLabel',names(Lind));
However, I need to move some of the nodes in the graph plot around.
As soon as I change XData, YData of the plot, the edges of the graph plot become straight. (Figure B)
A)
B)![straight.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/204087/straight.jpeg)
![curved.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/204086/curved.jpeg)
![straight.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/204087/straight.jpeg)
plot() does not allow me to combine XData, YData with 'Layout'.
Exporting the figure to svg/pdf/eps does not preserve edge/node relationships, so I cannot easily move nodes in Inkscape either.
How can I get both
A) a graph plot with curved edges, and
B) determine / change some of the node positions
Thanks for helping
1 Comment
Ben Ward
on 2 Apr 2019
Sorry I don't have the answer, as I am looking for the same thing myself. I thought I would give this a bump in case anyone else sees it.
Answers (1)
Rostislav Teryaev
on 2 Apr 2019
layout(h,'layered')
try using this after changing XData and YData
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!