K vyřešení následující úlohy budeme potřebovat nakreslit histogram.
To můžeme udělat poměrně jednoduše pomocí knihovny matplotlib.
import matplotlib.pyplot as plt
x = range(-10,11)
y = [i**2 for i in x]
plt.bar(x, y)
plt.title("Parabola")
plt.ylabel("y")
plt.xlabel("x")
Text(0.5, 0, 'x')
V grafu si můžeme nastavit i další parametry, viz https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.bar.html?highlight=bar#matplotlib.axes.Axes.bar.
Úloha 1: Napiš funkci, která pro zadaný graf vykreslí histogram distribuce jeho stupňů.
NetworkX má zabudováno mnoho funkcí na počítání parametrů sítí.
Na výpočet klusterovacího koeficientu je implementována fukce clustering(G), která vrátí slovník vrcholů a jejich klusterovacího koeficientu, podrobnosti viz https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.cluster.clustering.html#networkx.algorithms.cluster.clustering.
Existuje dokonce i funkce average_clustering(G), která spočítá průměrný clusterovací koeficient v grafu:
https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.cluster.average_clustering.html#networkx.algorithms.cluster.average_clustering
Stejně tak je v NetworkX implementována funkce average_shortest_path_length(G), která pro zadaný graf spočítá průměrnou délku nejkratších cest. Více viz dokumentace:
https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.shortest_paths.generic.average_shortest_path_length.html?#networkx.algorithms.shortest_paths.generic.average_shortest_path_length
Úloha 4: Následující reálné sítě převeď do vhodného formátu
a proveď nad nimi následující analýzy
U nesouvislých grafů analyzujte jejich největší komponentu souvislosti.
Úloha 5: Porovnej výsledky s diskuzí z druhého cvičení.