Re: [graph-tool] graph_tool.draw.interactive_window
Hello Tiago,
you cannot replace the underlying graph from under the hood like this. What you can do, however, is to work with the same filtered graph the whole time, and then change the values of the filter property map dynamically.
Thanks for the hint, this is exactly what I need! In case anyone else is interested in this great feature, I've written a small minimal working example, see below. Best regards Rolf ############################################################################## import graph_tool.all as gt def mykeypressed(self, g, keyval, picked, pos, vprops, eprops): if (chr(keyval)=='1'): g.vp.myfilter.a = True self.fit_to_window() self.regenerate_surface(reset=True) self.queue_draw() if (chr(keyval)=='2'): g.vp.myfilter.a = True g.vp.myfilter.a = [n%2==0 for n in g.vertex_index] self.fit_to_window() self.regenerate_surface(reset=True) self.queue_draw() if (chr(keyval)=='3'): g.vp.myfilter.a = True g.vp.myfilter.a = [n%3==0 for n in g.vertex_index] self.fit_to_window() self.regenerate_surface(reset=True) self.queue_draw() g1 = gt.random_graph(10, lambda: (3, 3)) g1.vp.myfilter = g1.new_vertex_property('bool') g1.vp.myfilter.a = True g1.set_vertex_filter(g1.vp.myfilter) gt.interactive_window(g1, key_press_callback=mykeypressed, vertex_text=g1.vertex_index) ############################################################################## -- ----------------------------------------------------------------------- Rolf Sander phone: [+49] 6131/305-4610 Max-Planck Institute of Chemistry email: rolf.sander@mpic.de PO Box 3060, 55020 Mainz, Germany homepage: www.rolf-sander.net ----------------------------------------------------------------------- https://www.encyclopedia-of-geosciences.net https://www.geoscientific-model-development.net -----------------------------------------------------------------------
participants (1)
-
Rolf Sander