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 <tiago@skewed.de> 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#dynam...
-- Tiago de Paula Peixoto <tiago@skewed.de>
_______________________________________________ graph-tool mailing list graph-tool@skewed.de https://lists.skewed.de/mailman/listinfo/graph-tool