Hi,

I copy pasted the code from the link you sent me and change to the
following code

#! /usr/bin/env python
from graph_tool.allimport *from numpy.randomimport *from
numpy.linalgimport normimport sys, os, os.path

seed(42)
seed_rng(42)
from gi.repositoryimport Gtk, Gdk, GdkPixbuf, GObject, GLib

g = Graph()

step = 0.005# move step
K = 0.5# preferred edge length

pos = sfdp_layout(g, K = K)# initial layout positions

win = GraphWindow(g, pos, geometry = (500, 400))

edges = [(1, 2), (3, 4), (3, 2), (3, 5), (3, 6), (2, 5)]
count = 0
def update_state():
  global count

sfdp_layout(g, pos = pos, K = K, init_step = step, max_iter = 1)
# my codefor each in edges:
  g.add_edge(each[0], each[1])
if count > 0 and count % 1000 == 0:
  win.graph.fit_to_window(ink = True)

count += 1
win.graph.regenerate_surface()
win.graph.queue_draw()
return True

cid = GLib.idle_add(update_state)
win.connect("delete_event", Gtk.main_quit)

win.show_all()
Gtk.main()


This doesn't seem to work I get  RuntimeError: invalid matrix (not
invertible)
Any idea? it looks to me this one line g = random_graph(150, lambda: 1 +
poisson(5), directed=False)
makes a difference? But I want to create my own graph like the code above.

Also what does idle_add do? it calls update whenever it is idle? which
means it redraws whenever it is idle?

Thanks!

On Thu, Feb 20, 2020 at 11:18 PM Tiago de Paula Peixoto <[email protected]>
wrote:

> Am 21.02.20 um 04:26 schrieb kant kodali:
> > Hi All,
> >
> > I am new to graph-tool and I am trying to figure out how to create and
> > display graphs dynamically by which I mean the following.
> >
> > To simplify the problem Lets say I have the following edges
> >
> > (1,2)
> > (3,4)
> > (3,7)
> > (3, 8)
> > (2, 3)
> >
> > I don't want to construct the graph with all the edges at once. instead
> > I want to add or delete an edge one by one and render/display that
> > immediately  such that I can show the user how the graph is evolving
> > after each edge. Think of it more like a stream of edges that can be
> > either added or deleted.
> >
> > Please let me know if you need more information on the question.
> > otherwise, I hope to hear how this can be achieved using graph-tool?
>
> There is an example of how to do this in the documentation:
>
>
> https://graph-tool.skewed.de/static/doc/demos/animation/animation.html#dynamic-layout
>
>
> --
> Tiago de Paula Peixoto <[email protected]>
>
> _______________________________________________
> graph-tool mailing list
> [email protected]
> https://lists.skewed.de/mailman/listinfo/graph-tool
>
_______________________________________________
graph-tool mailing list
[email protected]
https://lists.skewed.de/mailman/listinfo/graph-tool

Reply via email to