Sorry, this content is no longer available

Ask Your Question
1

Draw a 2D spatial network

asked 10 years ago

mresimulator gravatar image

updated 10 years ago

Hi experts!

I have:

  • a list of Q 'NODES'=[(x,y)_1,........, (x,y)_Q], where each element (x,y) represent the spatial position of the node in 2D Cartesian space.
  • a matrix 'H' with QxQ elements {H_k,l}. H_k,l=0 if nodes 'k' and 'l' aren't joined by a edge, and H_k,l = the length of the edge that connects these nodes.
  • a matrix 'Z' with QxQ elements {Z_k,l}. Z_k,l=0 if nodes 'k' and 'l' aren't joined by a edge, and Z_k,l = intensity_k,l (a intensity scale of the edge)

I want to draw the nodes in their spatial position, connected by the edges, and use a color scale for the 'intensity'.

How must I do that?

Waiting for your answers.

Thanks a lot!

Best regards, José Luis

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 10 years ago

niles gravatar image

The commands point2d and line will draw points and lines for you. Here is an example:

nodes = [(1,1),(-1,1),(2,0)]
points = point2d(nodes,color='black',size=50)
lines = line((nodes[0],nodes[1]),hue=.2) + line((nodes[0],nodes[2]),hue=.4)
(points + lines).show(axes=False)

You could write a loop over the elements of the matrix 'Z' which adds the relevant line if the intensity is not zero, and uses the intensity value for the hue.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 10 years ago

Seen: 335 times

Last updated: Jul 29 '14