Skip to main content
`Ctrl`+`K`

# random_partition_graph

random_partition_graph(sizes, p_in, p_out, seed=None, directed=False)

  Returns the random partition graph with a partition of sizes.

  A partition graph is a graph of communities with sizes defined by s in sizes. Nodes in the same group are connected with probability p_in and nodes of different groups are connected with probability p_out.

  Parameters:
    sizes list of ints

      Sizes of groups

    p_in float

      probability of edges with in groups

    p_out float

      probability of edges between groups

    directed boolean optional, default=False

      Whether to create a directed graph

    seed integer, random_state, or None (default)

      Indicator of random number generation state. See Randomness.

  Returns:
    G NetworkX Graph or DiGraph

      random partition graph of size sum(gs)

  Raises:
    NetworkXError

      If p_in or p_out is not in [0,1]

  Notes

  This is a generalization of the planted-l-partition described in [1]. It allows for the creation of groups of any size.

  The partition is store as a graph attribute ‘partition’.

  References

  [1]

  Santo Fortunato ‘Community Detection in Graphs’ Physical Reports Volume 486, Issue 3-5 p. 75-174. https://arxiv.org/abs/0906.0612

  Examples

      >>> G = nx.random_partition_graph([10, 10, 10], 0.25, 0.01)
      >>> len(G)
      30
      >>> partition = G.graph["partition"]
      >>> len(partition)
      3