graph_tool.correlations.corr_hist#
- graph_tool.correlations.corr_hist(g, deg_source, deg_target, bins=[[0, 1], [0, 1]], weight=None, float_count=True)[source]#
Obtain the correlation histogram for the given graph.
- Parameters:
- g
Graph Graph to be used.
- deg_sourcestring or
VertexPropertyMap degree type (“in”, “out” or “total”) or vertex property map for the source vertex.
- deg_targetstring or
VertexPropertyMap degree type (“in”, “out” or “total”) or vertex property map for the target vertex.
- binslist of lists (optional, default: [[0, 1], [0, 1]])
A list of bin edges to be used for the source and target degrees. If any list has size 2, it is used to create an automatically generated bin range starting from the first value, and with constant bin width given by the second value.
- weightedge property map (optional, default: None)
Weight (multiplicative factor) to be used on each edge.
- float_countbool (optional, default: True)
If True, the bin counts are converted float variables, which is useful for normalization, and other processing. It False, the bin counts will be unsigned integers.
- g
- Returns:
- bin_counts
numpy.ndarray Two-dimensional array with the bin counts.
- source_bins
numpy.ndarray Source degree bins
- target_bins
numpy.ndarray Target degree bins
- bin_counts
See also
assortativityassortativity coefficient
scalar_assortativityscalar assortativity coefficient
corr_histvertex-vertex correlation histogram
combined_corr_histcombined single-vertex correlation histogram
avg_neighbor_corraverage nearest-neighbor correlation
avg_combined_corraverage combined single-vertex correlation
Notes
The correlation histogram counts, for every vertex with degree (or scalar property) ‘source_deg’, the number of out-neighbors with degree (or scalar property) ‘target_deg’.
If enabled during compilation, this algorithm runs in parallel.
Examples
>>> def sample_k(max): ... accept = False ... while not accept: ... k = np.random.randint(1,max+1) ... accept = np.random.random() < 1.0/k ... return k ... >>> g = gt.random_graph(10000, lambda: sample_k(40), ... model="probabilistic-configuration", ... edge_probs=lambda i, j: (sin(i / pi) * sin(j / pi) + 1) / 2, ... directed=False, n_iter=100) >>> h = gt.corr_hist(g, "out", "out") >>> clf() >>> xlabel("Source out-degree") Text(...) >>> ylabel("Target out-degree") Text(...) >>> imshow(h[0].T, interpolation="nearest", origin="lower") <...> >>> colorbar() <...> >>> savefig("corr.svg")
Out/out-degree correlation histogram.#