Générer des graphes avec python

#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