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/95b8094a655e20f9ef64c50ae5ba36bd63973908374c4f64610cf9ebc3b3f871.png
draw_multiplot(A3.astype(int), title="$ER_{50}(0.3)$ Simulation")
array([<Axes: >, <Axes: >], dtype=object)
../../_images/819889548e3176a1f331ab4b866fe0ebb6a8d5284724b37e3ea475a1713b8ed9.png