graphical graph - how to

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, 0<intensity<I-max) if these nodes are connected.

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

The solution below is maybe not optimal, but it’s something you can figure out easily enough yourself. Also, I believe this question is better asked on stackoverflow as it is not an actual matplotlib issue, but rather a programming problem (that shows no effort).

Let me first redefine your matrices to comply with PEP8.

nodes = np.array([[1,2,3,4],[0, 5, 2, 8]]) # What you call Q. The first node here is (1,0)
connections = np.triu(np.random.rand(4,4)) # What you call Z

connections[0,3] = 0 # Just to make the plot a little more clear.

for row,_ in enumerate(connections):
for col in range(row+1, connections.shape[0]):
if connections[row, col]:
plt.plot(

            nodes[0,[row,col]], nodes[1,[row,col]],
            color='{}'.format(connections[row, col]))  # Uses gray-scale color-coding

plt.plot(nodes[0,:], nodes[1,:], 'ko ')

···

2014-07-29 14:18 GMT+02:00 Josè Luis Mietta <joseluismietta@…720…>:

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, 0<intensity<I-max) if these nodes are connected.

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


Infragistics Professional

Build stunning WinForms apps today!

Reboot your WinForms applications with our WinForms controls.

Build a bridge from your legacy apps to the future.

http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk


Matplotlib-users mailing list

Matplotlib-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-users