4.2 Erdös-Rényi Random Networks

4.2 Erdös-Rényi Random Networks#

mode = "svg"

import matplotlib

font = {'family' : 'Dejavu Sans',
        'weight' : 'normal',
        'size'   : 20}

matplotlib.rc('font', **font)

import matplotlib
from matplotlib import pyplot as plt
from graphbook_code import draw_multiplot, heatmap
from graspologic.simulations import er_np
import os

n = 50  # network with 50 nodes
p = 0.3  # probability of an edge existing is .3

# sample a single simple adjacency matrix from ER(50, .3)
A3 = er_np(n=n, p=p, directed=False, loops=False)

p = 0.7  # network has an edge probability of 0.7

# sample a single adjacency matrix from ER(50, 0.7)
A7 = er_np(n=n, p=p, directed=False, loops=False)


fig, axs = plt.subplots(1, 2, figsize=(11, 5))

heatmap(A3.astype(int), vmin=0, vmax=1,
        title="(A) $ER_{50}(0.3)$ sample", xtitle="Student", ytitle="Student",
        xticks=[0.5, 24.5, 49.5], xticklabels=[1,25,50],
        yticks=[0.5, 24.5, 49.5], yticklabels=[1,25,50], cbar=False,
        ax=axs[0])
heatmap(A7.astype(int), vmin=0, vmax=1, legend_title="Edge?",
        title="(B) $ER_{50}(0.7)$ sample", xtitle="Student", ytitle="Student",
        xticks=[0.5, 24.5, 49.5], xticklabels=[1,25,50],
        yticks=[0.5, 24.5, 49.5], yticklabels=[1,25,50],
        ax=axs[1])

fig.tight_layout()

os.makedirs("Figures", exist_ok=True)
fname = "er"
if mode != "png":
    os.makedirs(f"Figures/{mode:s}", exist_ok=True)
    fig.savefig(f"Figures/{mode:s}/{fname:s}.{mode:s}")

os.makedirs("Figures/png", exist_ok=True)
fig.savefig(f"Figures/png/{fname:s}.png")
../../_images/7c1aac6f3ac410dd1ec8cec6116bbe3350a7f330c19dafafe5d9a901b9e4a2f1.png
draw_multiplot(A3.astype(int), title="$ER_{50}(0.3)$ Simulation")
array([<Axes: >, <Axes: >], dtype=object)
../../_images/83b63b273681c5e929493027364da1eb0f0f463b0f42760fd5986d1d9438ec91.png