IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

afficher un graphe de type graphml selon les coordonnées polaires, possible ?


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2023
    Messages : 1
    Points : 1
    Points
    1
    Par défaut afficher un graphe de type graphml selon les coordonnées polaires, possible ?
    Bonjour,

    dans le cadre d'un projet étudiant, j'utilise la bibliothèque networkx afin de manipuler un graphe avec différents arrêts de tramways d'une ville en tant que noeuds. J'ai sérialisé le graphe en le mettant sous le format Graphml afin de l'afficher. Cependant j'aimerais afficher mes différents noeuds selon leurs coordonnées polaires respectives. Est-ce possible ?
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par geogeogogo Voir le message
    Est-ce possible ?
    Je ne vois pas trop la question de programmation Python ici... s'agit-il de savoir si le standard GraphML supporte une représentation en coordonnées polaires ou de convertir des coordonnées polaires en cartésiennes ou de trouver une bibliothèque qui accepte de...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2023
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2023
    Messages : 31
    Points : 47
    Points
    47
    Par défaut
    Tout d'abord, il est nécessaire d'ajouter les coordonnées polaires de chaque noeud dans les attributs de noeuds de votre graphe. Cela peut être fait en utilisant la méthode set_node_attributes de networkx
    Ensuite, il est possible d'afficher le graphe en utilisant la méthode draw_networkx de networkx et en passant les coordonnées polaires des noeuds à la fonction pos
    La fonction draw_networkx prend en argument le graphe ainsi que les options d'affichage. Ici, nous passons les coordonnées polaires des noeuds en tant que pos

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import networkx as nx
    import matplotlib.pyplot as plt
     
    # Création d'un graphe vide
    G = nx.Graph()
     
    # Ajout des noeuds avec leurs coordonnées polaires
    G.add_node("A", pos=(0, 0))
    G.add_node("B", pos=(1, 1))
    G.add_node("C", pos=(2, 0))
    G.add_node("D", pos=(1, -1))
     
    # Ajout des arêtes
    G.add_edge("A", "B")
    G.add_edge("B", "C")
    G.add_edge("C", "D")
    G.add_edge("D", "A")
     
    # Définition des attributs des noeuds pour les coordonnées polaires
    pos_attrs = {node: node_data['pos'] for node, node_data in G.nodes(data=True)}
    nx.set_node_attributes(G, pos_attrs, 'pos')
     
    # Affichage du graphe avec les coordonnées polaires
    nx.draw_networkx(G, pos=pos_attrs)
     
    # Affichage de la figure
    plt.show()
    Vous devriez maintenant voir le graphe affiché avec les noeuds aux coordonnées polaires correspondantes.

Discussions similaires

  1. Afficher un graphe avec des durées sur les axes des Y
    Par wampaska dans le forum Power BI
    Réponses: 0
    Dernier message: 24/03/2022, 18h40
  2. Réponses: 4
    Dernier message: 29/04/2021, 11h08
  3. Réponses: 2
    Dernier message: 23/09/2010, 17h21
  4. Réponses: 10
    Dernier message: 28/05/2009, 22h06
  5. bouger une div selon les coordonnées de la souris
    Par 10-nice dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 21/09/2005, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo