Change Node & Edges position on Plot

40 views (last 30 days)
I'm trying to draw a network using Graph function, where nodes represent RMU and Edges represent Cable , but i wanna change the postion of multibale Nodes on the plot figure so that is can see the network and compare it to the original SLDs

Accepted Answer

Steven Lord
Steven Lord on 26 Jun 2022
See the "Adjust Properties of GraphPlot Object" example on this documentation page for a demonstration of how to set custom node locations. Alternately you may want to use the layout function linked in the Object Functions section on that page to use different algorithms to compute the coordinates for the points.
  2 Comments
Mohamed
Mohamed on 2 Aug 2022
Edited: Mohamed on 2 Aug 2022
I tried to the following function to manpuilate xData nd Ydate for the garph , i used a point and get the coordinated of the pointer , but i can't assign the point corrdinates to the Xdate and Ydate of the selected Node :
Nodes=G.Nodes
H=plot(G,'Layout','force','NodeLabel',G.Nodes.Name)
guidata(H,data)
H.ButtonDownFcn = @MoveNode;
function MoveNode(src,evnt,Nodes) %#ok<INUSL>
H = guidata(gcbf);
set(gcf,'pointer','fleur','WindowButtonMotionFcn',{@Move});
set(gcf,'WindowButtonDownFcn','set(gcf,''WindowButtonMotionFcn'',[],''pointer'',''arrow'')');
guidata(gcbf,H);
function Move(src,evnt,Nodes) %#ok<INUSL>
P = get(gca,'CurrentPoint')
x = round(P(1,1));
y = round(P(1,2));
end
end
i used that toolBox and the source code as a reference to me :
https://www.mathworks.com/matlabcentral/fileexchange/57612-da-gui
Christine Tobler
Christine Tobler on 2 Aug 2022
You should be able to assing to the XData and YData properties of the H object in your code:
g = graph(2, 3);
H = plot(g, 'Layout', 'force');
H.XData = [1 3 2];
In the helper functions you're using, you would need to retrieve the GraphPlot object represented by H and modify its properties XData and YData.
Also, here's a blog post on how to make nodes in a GraphPlot object move by clicking on them:

Sign in to comment.

More Answers (0)

Categories

Find more on Graph and Network Algorithms in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!