MATLAB Answers

How can I plot curved lines in a graph plot?

40 views (last 30 days)
Trygve Solstad
Trygve Solstad on 14 Feb 2019
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)curved.jpgB)straight.jpg
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
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.

Sign in to comment.

Answers (1)

Rostislav Teryaev
Rostislav Teryaev on 2 Apr 2019
layout(h,'layered')
try using this after changing XData and YData

  0 Comments

Sign in to comment.

Products


Release

R2016b