Source code for lib.analysis.community

import igraph
import lib.config as config


[docs]def infomap_igraph(ig_graph, net_file_location=None): """ Performs igraph-infomap analysis on the nx graph Args: ig_graph(object): igraph graph object net_file_location(str): location to load graph from if not mentioned in ig_graph Returns: ig_graph: igraph object community.membership: result of infomap community analyis """ if ig_graph is None: # give an option of loading a graph from .net file ig_graph = igraph.read(net_file_location, format="pajek") if ig_graph.es: community = ig_graph.community_infomap(edge_weights=ig_graph.es["weight"]) codelength = community.codelength print "code-length:", codelength print "no. of communities: ", max(community.membership) + 1 print community if config.DEBUGGER: for node in ig_graph.vs(): print str(node.index)+"\t"+str(ig_graph.vs["id"][node.index]) # http://stackoverflow.com/questions/21976889/plotting-communities-with-python-igraph return ig_graph, community else: return ig_graph, None