Specifying node numbers using digraph
    7 views (last 30 days)
  
       Show older comments
    
    Conrado Neto
 on 20 Jan 2021
  
    
    
    
    
    Commented: Conrado Neto
 on 21 Jan 2021
            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,
0 Comments
Accepted Answer
  Christine Tobler
    
 on 20 Jan 2021
        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 Comments
  Christine Tobler
    
 on 20 Jan 2021
				
      Edited: Christine Tobler
    
 on 20 Jan 2021
  
			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);
More Answers (0)
See Also
Categories
				Find more on Graph and Network Algorithms 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!
