Specifying node numbers using digraph

조회 수: 4 (최근 30일)
Conrado Neto
Conrado Neto 2021년 1월 20일
댓글: Conrado Neto 2021년 1월 21일
I need to plot something that has nodes Numbers and Coordinates as in the attached file: Data_Coord.txt
the file has four columns and they correspond to: NodeNumber CoordX CoordY CoordZ, respectively
The conectivity between nodes is given by the file Data_Conec.txt
the file has three columns and they correspond to: ElementNumber Node1 Node2, respectively
Note that the number of the nodes is not sequential up to the total number of nodes, meaning that, for example, I could have node 1 conected to node 10001, even though I only have 200 nodes. but the coordinate of node 1 and 10001 is given on the Data_Coord.txt file and the first column specifies the number of the node.
How can I plot this 3D sketch?
I tried using digraph but because of the node numbers I wasnt sure how to proceed
thanks,

채택된 답변

Christine Tobler
Christine Tobler 2021년 1월 20일
The easiest way to use graph/digraph when your node numbers are not sequential is to convert the node numbers to string, which will have them treated as node names instead. Then, you should be able to use digraph and hte plot command with 'XData', 'YData', and 'ZData' options.
  댓글 수: 3
Christine Tobler
Christine Tobler 2021년 1월 20일
편집: Christine Tobler 2021년 1월 20일
Hi Conrado,
If E1, E2 are the second and third column of Data_Conec.txt, and Node_Coord is the first column of Data_Coord.txt, use
G = digraph(string(E1), string(E2), [], string(Node_Coord));
plot(G,'XData',X_Coord,'YData',Y_Coord,'ZData',Z_Coord,...
'ArrowSize',10,'NodeLabel',G.Nodes.Name);
Conrado Neto
Conrado Neto 2021년 1월 21일
this works perfectly, thanks Christine!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Networks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by