Algorithme, dessin, graphes, Python, logiciel, Tulip
L'objectif de ce projet sera de mettre en place un algorithme de dessin de graphes, en
langage Python, pour le logiciel Tulip.
Dans un premier temps, à partir d'un graphe représentant un réseau social, il faudra parvenir à dessiner un graphe dont les noeuds seront placés sur des cercles concentriques. Les rayons de ces cercles représenteront les valeurs des métriques associées aux noeuds.
La seconde étape de ce projet portera sur l'optimisation du nombre de croisements d'arêtes du graphe.
[...] Il est possible de retirer plus d'informations de ce graphe que de celui de la figure 2 (comme les groupes d'acteurs ayant travaillé avec un même acteur). Cependant, il reste nettement moins lisible que le graphe initial. Nous avons tenté d'améliorer ces résultats en répartissant les noeuds de manière régulière sur le cercle, mais cela nous faisait perdre la lisibilité que nous avions pu obtenir. Figure 5 Graphe obtenu après minimisation du nombre de croisements d'arêtes. [...]
[...] Nous avons ainsi obtenu le graphe de la figure 4. Nous voyons alors apparaitre les "noeuds fils" partageant un même "noeud père", ou inversement. Figure 4 Graphe plaçant les noeuds sur des cercles concentriques pour les noeuds des deux métriques les plus élevées, après minimisation du nombre de croisements d'arêtes. L'étape suivante a donc consisté à étendre ces résultats au graphe entier. Pour cela, nous avons en premier lieu, appliqué la fonction qui replace les noeuds du cercle le plus au centre. [...]
[...] Université Bordeaux Février 2011 Daniel CÉSAIRE Florence MAURIER Traitement de données : Visualisation d'informations et tracé de graphes Master1 Biologie Santé Spécialité Bioinformatique Responsable : Bruno Pinaud Sujet L'objectif de ce projet sera de mettre en place un algorithme de dessin de graphes, en langage Python, pour le logiciel Tulip. Dans un premier temps, à partir d'un graphe représentant un réseau social, il faudra parvenir à dessiner un graphe dont les noeuds seront placés sur des cercles concentriques. Les rayons de ces cercles représenteront les valeurs des métriques associées aux noeuds. [...]
[...] Nous avons donc obtenu, sans autre traitement, le graphe de la figure 3. Nous remarquons qu'il n'est pas possible de tirer d'autre information que la métrique des noeuds à partir de ce graphe. Figure 3 Graphe plaçant les noeuds sur des cercles concentriques pour les noeuds des deux métriques les plus élevées, avant minimisation du nombre de croisements d'arêtes. Pour commencer cette étape de minimisation du nombre de croisements d'arêtes, nous avons choisi d'ordonner les noeuds du cercle le plus au centre, ou "noeuds pères". [...]
[...] Après avoir défini cet ordre, nous avons attribué un theta croissant pour chaque noeud de cette 5 liste, et en gardant le même rayon, nous avons pu lui réattribuer de nouvelles coordonnées cartésiennes. Ensuite, il nous a fallu réorganiser les "noeuds fils" en fonction de la position des "noeuds pères". Pour cela, nous avons choisi d'attribuer comme nouvel angle theta à chaque "noeud fils", la moyenne des angles de ses "noeuds pères". En procédant ainsi, certains noeuds ayant les mêmes pères se retrouvaient superposés, nous avons donc dû remédier à ça. Nous avons donc choisi, pour chaque noeud, de dresser la liste des noeuds ayant les mêmes coordonnées. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture