Graphes

En outre, vous pouvez accéder aux composants du projet : le modèle Graph, les Instances du graphe, et les datasources.

Le modèle de graphe est accessible via la fonction .graph() :

my_project = wg.project_from_id("<Votre ID de projet>")
g = mon_projet.graph()

La classe Graph hérite de la bibliothèque NetworkX. Cela signifie qu'il est possible de créer une méthode d'affichage à votre convenance dans la classe Graph :

import matplotlib.pyplot as plt

"""Displays the graph using NetworkX library"""
# Using the kamada kawai layout algorithm
pos = nx.kamada_kawai_layout(g)
# Set the START node to green and the END node to red
color_mapper = {"START": "green", "END": "red"}
labels = {n: g.nodes[n]["name"] for n in g.nodes} # Use name as label
colors = [color_mapper.get(g.nodes[n]["name"], 'blue') for n in g.nodes] # Set nodes colors (default to blue)

# Draw and show the graph
nx.draw(g, pos=pos, labels=labels, node_color=colors, node_size=1000, connectionstyle='arc3,rad=0.2')
plt.show()

Elle nous donnera un graphique similaire à celui qui suit : Graph_for_howto.png

Le graphique peut ensuite être sauvegardé en tant que GEXF :

nx.write_gexf(g, 'nom_du_graphique.gexf')

Il peut également être sauvegardé au format GML :

nx.write_gml(g, 'nom_du_graphique.gml')