Séance 1 — Rappels & prise en main de NetworkX¶
Objectifs pédagogiques
- Réviser les définitions : nœuds, arêtes, graphes dirigés / non-dirigés / pondérés.
- Prendre en main
networkxpour créer un graphe et le visualiser. - Lire des mesures simples (degrés).
Consignes
- Exécutez cellule par cellule.
- Commentez en 2-3 phrases ce que vous observez.
In [ ]:
Copied!
# Installation (si nécessaire) — peut être ignorée si networkx est déjà présent
# %pip install networkx matplotlib
import networkx as nx
import matplotlib.pyplot as plt
# Installation (si nécessaire) — peut être ignorée si networkx est déjà présent
# %pip install networkx matplotlib
import networkx as nx
import matplotlib.pyplot as plt
1) Créer un premier graphe non dirigé¶
In [ ]:
Copied!
# TODO: Compléter la liste d'arêtes pour former votre mini-réseau social
G = nx.Graph()
G.add_edges_from([
("Alice", "Bob"),
("Bob", "Claire"),
("Alice", "David"),
# ("Claire", "David"), # décommentez pour ajouter un lien
])
print("Nœuds :", list(G.nodes()))
print("Arêtes:", list(G.edges()))
print("Degrés:", dict(G.degree()))
plt.figure()
nx.draw(G, with_labels=True)
plt.show()
# TODO: Compléter la liste d'arêtes pour former votre mini-réseau social
G = nx.Graph()
G.add_edges_from([
("Alice", "Bob"),
("Bob", "Claire"),
("Alice", "David"),
# ("Claire", "David"), # décommentez pour ajouter un lien
])
print("Nœuds :", list(G.nodes()))
print("Arêtes:", list(G.edges()))
print("Degrés:", dict(G.degree()))
plt.figure()
nx.draw(G, with_labels=True)
plt.show()
2) Questions¶
- Quel nœud a le plus grand degré ?
- Que se passe-t-il si vous ajoutez l'arête ('Claire','David') ?
- Donnez une interprétation sociologique rapide (qui est au centre ?).