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 :

graphique de 2 séries temporelles sur des périodes différentes dans le même graphique


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2022
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2022
    Messages : 4
    Points : 4
    Points
    4
    Par défaut graphique de 2 séries temporelles sur des périodes différentes dans le même graphique
    Pour comparer visuellement le comportement de 2 séries temporelles sur des périodes de temps différentes, j'ai réussi à faire ce petit code mais je n'arrive pas à faire apparaître l'axe des ordonnées de la 2ème série Y2. Je veux voir sir le comportement d'une série entre le 31/12/2020 et le 31/12/2021 a été similaire visuellement au comportement de la 2ème série entre la 31/12/2000 et le 30/6/2001. les périodes d'observations peuvent ne pas avoir la même durée. Je n'arrive pas à faire apparaître l'échele de la série Y2 sur l'échelle de droite du graphique.

    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
     
    import matplotlib.pyplot as plt
     
    # Données de la série 1
    X1 = [1, 2, 3, 4, 5]
    Y1 = [10, 15, 13, 18, 20]
     
    # Données de la série 2
    X2 = [7, 8, 9, 10, 11, 12, 13, 14]
    Y2 = [50, 55, 45, 60, 65, 78, 23, 89]
     
    # Création de la figure et des axes
    fig, ax1 = plt.subplots()
     
    # Tracer la première série sur le premier axe
    ax1.plot(X1, Y1, color='blue', label='Série 1')
    ax1.set_xlabel('X1')
    ax1.set_ylabel('Y1', color='blue')
    ax1.tick_params(axis='y', labelcolor='blue')
     
    # Créer un deuxième axe x et y pour la deuxième série
    ax2 = ax1.twiny()
     
    ax2.plot(X2, Y2, color='red', label='Série 2')
    ax2.set_xlabel('X2')
    ax2.xaxis.tick_top()  # Placer les marqueurs de l'axe x en haut
    ax2.set_ylabel('Y2', color='red')
    ax2.tick_params(axis='y', labelcolor='red')
     
     
     
    # Ajouter une légende
    lines, labels = ax1.get_legend_handles_labels()
    lines2, labels2 = ax2.get_legend_handles_labels()
    ax2.legend(lines + lines2, labels + labels2, loc='upper left')
     
    plt.title('Graphique de deux séries historiques indépendantes avec X2 en haut, Y1 à droite et Y2 à gauche')
    plt.show()

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 245
    Points : 219
    Points
    219
    Par défaut
    El Gringo,

    Ligne 22, peux-tu tenter : ax2 = ax1.twinx() au lieu de ax2 = ax1.twiny() ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2009, 18h11
  2. [A07] Tri sur des champs calculé dans un etat
    Par Thierry'' dans le forum IHM
    Réponses: 2
    Dernier message: 02/02/2009, 08h31
  3. des requetes sur des champs basés dans l'ecran forms
    Par moezsokrati dans le forum Forms
    Réponses: 6
    Dernier message: 15/01/2009, 13h23
  4. Réponses: 2
    Dernier message: 07/05/2008, 08h51
  5. Afficher une échelle temporelle sur des graphiques
    Par RKOCOCO dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/07/2007, 14h47

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