예제 #1
0
    def anim_gt(self):
        self.win = gt.GraphWindow(self.g,
                                  self.pos,
                                  geometry=(1000, 500),
                                  vprops=self.vert_prop,
                                  eprops=self.edge_prop)

        # Bind the function above as an 'idle' callback.
        cid = GObject.idle_add(self.anim_update)

        self.win.connect("delete_event", Gtk.main_quit)
        self.win.show_all()
        Gtk.main()
예제 #2
0
def draw_cluster_interactive(graph, force_draw_edge=False):
    pos = gt.sfdp_layout(graph, p=1)
    if not force_draw_edge and graph.num_edges() > 10000:
        graph = gt.GraphView(graph, efilt=graph.new_ep('bool', val=False))
        logging.info(
            'Number of edges exceeds 10000, edges are not drawn to ensure the stability.'
        )
    fill_color = _fill_vertex_color(graph)
    win = gt.GraphWindow(graph,
                         pos, (800, 600),
                         vertex_size=9,
                         vertex_fill_color=fill_color,
                         bg_color=(1, 1, 1, 1),
                         key_press_callback=_Callback())
    win.connect('destroy', lambda _: matplotlib.pyplot.close('all'))
    win.show_all()
    gt.graph_draw(graph,
                  pos,
                  vertex_size=9,
                  vertex_fill_color=fill_color,
                  bg_color=(1, 1, 1, 1),
                  key_press_callback=_Callback(),
                  window=win)
    return
예제 #3
0
##
pos = gt.sfdp_layout(ug, pos=ug.vp.pos, K=K)

##

##
# offscreen = sys.argv[1] == "offscreen" if len(sys.argv) > 1 else False

# This creates a GTK+ window with the initial graph layout
if not offscreen:
    win = gt.GraphWindow(
        ug,
        pos,
        geometry=(800, 800),
        vertex_fill_color=ug.vp.lum,
        vertex_size=gt.prop_to_size(ug.vp.mass,
                                    mi=2,
                                    ma=10,
                                    log=False,
                                    power=2),
    )
else:
    win = Gtk.OffscreenWindow()
    win.set_default_size(800, 800)
    win.graph = gt.GraphWidget(
        ug,
        pos,
        vertex_fill_color=ug.vp.lum,
        vertex_size=gt.prop_to_size(ug.vp.mass,
                                    mi=2,
                                    ma=10,
예제 #4
0
print('asdasd', g.num_vertices())

vsize = g.new_vertex_property("double")
deg = g.degree_property_map("total")
vsize = gt.prop_to_size(g.degree_property_map("total"))
pos = gt.sfdp_layout(g,
                     eweight=g.ep['weight'],
                     groups=g.vp['comm_infomap'],
                     init_step=0.005,
                     max_iter=1)
if not offscreen:
    win = gt.GraphWindow(g,
                         pos,
                         geometry=(500, 400),
                         edge_color=[0.6, 0.6, 0.6, 1],
                         vorder=visited,
                         vertex_size=vsize,
                         vertex_fill_color=g.vp['comm_infomap'],
                         vertex_halo=mark,
                         vertex_halo_color=[0.8, 0, 0, 0.6])
else:
    win = Gtk.OffscreenWindow()
    win.set_default_size(500, 400)
    win.graph = gt.GraphWidget(g,
                               pos,
                               edge_color=[0.6, 0.6, 0.6, 1],
                               vorder=visited,
                               vertex_size=vsize,
                               vertex_fill_color=g.vp['comm_infomap'],
                               vertex_halo=mark,
                               vertex_halo_color=[0.8, 0, 0, 0.6])
예제 #5
0
# Newly infected nodes will be highlighted in red
mark = g.new_vertex_property("bool")
visited = g.new_vertex_property("bool")
mark.a = False
visited.a = False

# This creates a GTK+ window with the initial graph layout
time = -1
max_time = np.max(list(order))
width = gt.prop_to_size(g.ep['weight'], ma=.1)
if not offscreen:
    win = gt.GraphWindow(g,
                         pos,
                         geometry=(500, 400),
                         edge_color=[0.6, 0.6, 0.6, 1],
                         vorder=visited,
                         vertex_fill_color=state,
                         vertex_halo=mark,
                         vertex_halo_color=[0.8, 0, 0, 0.6])
    print('asdasd', g.num_vertices())
else:
    win = Gtk.OffscreenWindow()
    win.set_default_size(500, 400)
    win.graph = gt.GraphWidget(g,
                               pos,
                               edge_color=[0.6, 0.6, 0.6, 1],
                               vorder=visited,
                               vertex_fill_color=state,
                               vertex_halo=mark,
                               vertex_halo_color=[0.8, 0, 0, 0.6])
    win.add(win.graph)
예제 #6
0
g, pos = Initial_Networks(File)
Cha = g.vertex_properties['is_cha']
#  Gtk window initialization
offscreen = sys.argv[1] == 'offscreen' if len(sys.argv) > 1 else False
offscreen = True
max_count = 220  # refresh screen internal time
if offscreen and not os.path.exists('./frames'):
    os.mkdir('./frames')

if not offscreen:
    # TODO: modify the graph to squares and no edges
    win = gt.GraphWindow(g,
                         pos,
                         geometry=(1024, 800),
                         vertex_shape='hexagon',
                         vertex_size=10,
                         vertex_anchor=0,
                         vertex_pen_width=0,
                         edge_color=[1, 1, 1, 1],
                         vertex_fill_color=Cha)
else:
    count = 0
    win = Gtk.OffscreenWindow()
    win.set_default_size(1024, 1024)
    win.graph = gt.GraphWidget(g,
                               pos,
                               vertex_shape='hexagon',
                               vertex_size=10,
                               vertex_anchor=0,
                               vertex_pen_width=0,
                               edge_color=[1, 1, 1, 1],
예제 #7
0
pos = g.own_property(tpos)

###### Create interactive window #####

win = gt.GraphWindow(g,
              geometry =(500,400),
              vertex_text_position="centered",
              vertex_text=g.vertex_properties["label"],
              vertex_text_color = "white",
              vertex_font_size=14,
              vertex_anchor=0,
              vertex_aspect=1,
              vertex_shape = "square",
              vertex_fill_color = g.vertex_properties["vcolour"],
              vertex_size = 10,
              fit_view = False,
             # edge_color=g.edge_properties["colour"],
              # edge_pen_width=g.edge_properties["thickness"],
              edge_end_marker="none",
              edge_pen_width=0.2,
              edge_color="white",
              bg_color=[0,0,0,1],
              output_size=[500,400],
              output='UK_ONLY_RELATIONSHIPS.png',
              pos=pos,
              edge_control_points=cts)

win.show_all()
Gtk.main()
예제 #8
0
# TODO: network initialization and position acquisition
g, pos, h = Initial_Networks(File)

# TODO: Gtk window initialization
offscreen = sys.argv[1] == 'offscreen' if len(sys.argv) > 1 else False
#offscreen = True
max_count = 40  # refresh screen internal time
if offscreen and not os.path.exists('./frames'):
    os.mkdir('./frames')

if not offscreen:
    win = gt.GraphWindow(g,
                         pos,
                         geometry=(1024, 800),
                         edge_color=[0.6, 0.6, 0.6, 1],
                         vertex_fill_color=VertexState,
                         vertex_halo=mutate_tag,
                         vertex_halo_size=2,
                         vertex_halo_color=Yellow)
else:
    count = 0
    win = Gtk.OffscreenWindow()
    win.set_default_size(1024, 800)
    win.graph = gt.GraphWidget(g,
                               pos,
                               edge_color=[0.6, 0.6, 0.6, 1],
                               vertex_fill_color=VertexState,
                               vertex_halo=mutate_tag,
                               vertex_halo_size=2,
                               vertex_halo_color=Yellow)
    win.add(win.graph)