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

Calcul scientifique Python Discussion :

affichage graphe points par points en coordonnées polaires


Sujet :

Calcul scientifique Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2020
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2020
    Messages : 13
    Points : 8
    Points
    8
    Par défaut affichage graphe points par points en coordonnées polaires
    Bonjour
    Je voudrais afficher un graphe en coordonnées polaire point par point.
    Pas de pb pour l'afficher en une fois.
    Mais lorsque j'insère une boucle , les points s'affichent dans un graphe cartésien avec un point par graphe.
    Le pb se situe dans la fonction d'affichage def plot_polaire2, je ne trouve pas lequel.

    Merci de votre aide

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    # -*- coding: utf-8 -*-
    """
    Created on Fri Mar 13 16:55:11 2020
     
    @author: julnar
     
    Nombres premiers(NP) en coordonées polaire
    x,y = module, angle le même NP
    une fonction est appliquée sur les angles
    """
    import matplotlib.pyplot  as plt
    import numpy as np
    #
    def plot_polaire2(titre, theta, r, xt, yt, grid=True):
        """"Affiche  r et theta en coordonnées polaires
            theta  =  liste des angles
            r = modules
        """
        # Taille de la figure figsize
        fig = plt.Figure()
        fig.add_subplot(111, projection='polar')
        fig.set_size_inches(14, 10, forward=True)
        #
        # Graphe en coordonnées polaires
        FIN = len(r)
        plt.subplot(projection='polar')
        for i in range(0, FIN):
            plt.plot(r[i], theta[i],'r.')
            plt.pause(0.01)
     
        plt.title(titre, fontsize=16)
        #Affiche les echelles s'il y en a
        plt.xticks(xt)
        plt.yticks(yt)
        #
        plt.grid(grid)
         #
    #
    # LIste des NP
    R=[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 
       61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 
       131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193,
       197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 
       271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 
       353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 
       433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 
       509, 521, 523, 541]
     
    ANGLES=[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 
       61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 
       131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193,
       197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 
       271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 
       353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 
       433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 
       509, 521, 523, 541]
    #
    TITRE = 'NP en polaire'
    xt = np.arange(0, 2.0*np.pi, np.pi/6)
    yt = np.arange(0, 4, 1)
    #
    # Theta = NP modulo de Z = 2 au 100 ieme NP
    DEB = 0 
    FIN = 1
    for K in range(DEB, FIN):
        Z = R[K] #argument de la fonction Lambda
        TITRE = 'NP en polaire θ = NP mod '+str(Z)
        #Applique une fonction sur les angles
        F = lambda liste:[i%Z for i in liste]
        THETA = F(R) # Liste des angles
        #Appel de la fonction d'affichage en coord polaires
        plot_polaire2(TITRE, THETA, R, xt, yt, grid=True)
        #
        plt.show() # ici sinon trop de figures ouvertes en même temps

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    Salut

    Moi je n'obtiens pas le même résultat que vous. J'ai bien les points qui apparaissent successivement sur le même graphe.
    Par contre le titre n'est pas mis à jour, il n'apparait qu'à la fin.

    Dans tous les cas, quand il commence à avoir du plt partout ce n'est pas bon signe. Car vous ne savez pas sur quel objet graphique vous tapez. Et qui plus est l'objet graphique sur lequel vous tapez peut dépendre de votre environnement d'éxécution (ce qui explique que je n'ai pas la meme chose que vous avec le meme code).

    Vous capturez fig, ok. Alors ensuite capturer ax qui sort du subplot. Puis appeler plot et set_title depuis ax et non depuis plt.

    Vous avez aussi les exemples d'animations de Matplotlib qui pourraient également répondre à votre besoin.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/05/2015, 18h22
  2. Réponses: 10
    Dernier message: 25/09/2012, 10h30
  3. Tracer un graphe point par point pendant l'exécution
    Par membreComplexe12 dans le forum Qwt
    Réponses: 0
    Dernier message: 10/06/2011, 11h45
  4. Paramétrage de l'affichage de points et de lignes
    Par ecthelion dans le forum MATLAB
    Réponses: 1
    Dernier message: 07/09/2006, 14h28
  5. Localiser un point à deux coordonnées dans un tableau de points
    Par giloutho dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/08/2006, 17h48

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