Aller au contenu

Générer des graphes avec python

Dessiner un graphe, oui, mais directement en image
#

OK donc, les graphes sont cool. Ils sont beaux, instructifs et partout.

Bon, avec networkx et pyplot, on peut facilement dessiner un graphe:

import networkx as nx
import matplotlib.pyplot as plt


def showgraph():
    G = nx.Graph()
    edges = []

    edges.append(["Python", "networkx"])
    edges.append(["Python", "pyplot"])
    edges.append(["Python", "pandas"])
    edges.append(["Python", "C"])
    edges.append(["C", "Segfault"])
    edges.append(["C", "gcc"])
    G.add_edges_from(edges)
    nx.draw_networkx(G)
    plt.show()

Super, on a pyplot qui se lance et montre le graphe !

Bon c’est bien, mais si on veut intégrer ce graphe dans un article LaTeX ou un poste de blog, alors on a un peu envie de générer directement une image.

    # il faut remplacer plt.show avec plt.savefig
    # plt.show()
    plt.savefig("./example-graphe.png")
$ python main.py

…et voilà:

example graphe