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

MATLAB Discussion :

Double axes des ordonnées avec plusieurs courbes


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut Double axes des ordonnées avec plusieurs courbes
    Bonjour,
    Je souhaite tracé un graphique avec plusieurs courbes ( 5 destinés à un axe (Température) et 2 autres à une autre échelle d'ordonnée (Courant))

    Les deux axes ne sont pas de la même unités.

    Faut-il passer par un ''plotyy'' ou alors définir deux axes distinct???

    En pièce jointe, je vous mets le rendu finale que je souhaite !!!!

    Merci
    Images attachées Images attachées  

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par zebino Voir le message
    Faut-il passer par un ''plotyy'' ou alors définir deux axes distinct???
    Les deux en fait, car c'est ce que fait la fonction plotyy en interne

    Cette discussion pourra t'y aider

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    ok donc je vais privilégier le plotyy mais comment dire a plotyy que 5 courbes sont rattachés à la légende de gauche et 2 à la légende de droite??

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Lien que tu m'a donné, m'a très bien aidé et résolu !!!!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    en fait problème : tout marche pour mettre 5 courbes sur AX1 (ordonnée à gauche) et 1 courbe sur AX2 (ordonnée de droite) mais lorsque je veux mettre une deuxième courbe sur l'ordonnée de droite (AX2) il ne veut plus..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [AX,H1,H2] = plotyy(Dates_num,Mat(:,9),Dates_num,Mat(:,4),'plot')
    plot(AX(1),Dates_num,Mat(:,8),Dates_num,Mat(:,13),Dates_num,Mat(:,10),Dates_num,Mat(:,17),Dates_num,Mat(:,11))
    en suite je veux rajouter une autre colonne de ma matrice mais la ca ne marche pas :

  6. #6
    Invité
    Invité(e)
    Par défaut
    Dire "ça ne marche pas" ou "Up" n'a jamais fait avancé un problème. Dire ce que l'observe (résultat inattendu, erreurs,...) en revanche si.

    Bref, je présume que tu n'a simplement pas rajouté hold(AX(2), 'on')...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    Je m'excuse pour le "up" mais je n'arrive pas trouver la solution.
    Lorsque j'insère le il me dit" too many argument..."

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bon je précise : message d'erreur complet, qui indique entre autres la ligne où elle se situe.
    Déjà je vois que tu ne rentres qu'une courbe dans plotyy, pourquoi ne pas rentrer x,Mat(:,2) à cette ligne ?
    Et le ligne hold(AX(2),'on') est à mettre après plotyy, mais avant tout nouveau tracé dans AX(2)

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Tout d'abord voici le message erreur :
    ??? Error using ==> hold at 29
    Too many input arguments.
    
    Error in ==> premier at 26
    hold(AX(2),Dates_num,Mat(:,6))
    Code du graphe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Heure = Res{1}; % Matrice des dates et heures
    Mat = Res{2}; % Matrice des données temp et courant et Intensité lumineuse
     
    %%% Données sur Graphique %%%
    Dates_num = datenum(Heure,'HH:MM:SS'); % Conversion avec datenum hh:mm:ss => Nombre
    [AX,H1,H2] = plotyy(Dates_num,Mat(:,9),Dates_num,Mat(:,4),'plot','plot')
     
    plot(AX(1),Dates_num,Mat(:,8),Dates_num,Mat(:,13),Dates_num,Mat(:,10),Dates_num,Mat(:,17),Dates_num,Mat(:,11))  % Affichage des températures sur graphe
    hold(AX(2),Dates_num,Mat(:,6))
     
    %datetick('x','HH:MM') % Permet d'affiche HH:MM à la place de Dates_num
    Les données sont organisées en colonne dans la matrice 'Mat'. Je veux la colonne 9,8,13,10,17 et 11 sur l'échelle de gauche et colonnes 4 et 6 sur les ordonnées de droite.

  10. #10
    Invité
    Invité(e)
    Par défaut
    La fonction hold permet de dire à MATLAB d'ajouter les prochains tracés sans supprimer les existants. Mais en aucun cas de tracer.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    La fonction hold permet de dire à MATLAB d'ajouter les prochains tracés sans supprimer les existants. Mais en aucun cas de tracer.
    Oui pardon voici le nouveau morceau de script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    %%% Données sur Graphique %%%
    Dates_num = datenum(Heure,'HH:MM:SS'); % Conversion avec datenum hh:mm:ss => Nombre
    [AX,H1,H2] = plotyy(Dates_num,Mat(:,9),Dates_num,Mat(:,4),'plot','plot')
    hold(AX(2),'on')
     
    plot(AX(1),Dates_num,Mat(:,8),Dates_num,Mat(:,13),Dates_num,Mat(:,10),Dates_num,Mat(:,17),Dates_num,Mat(:,11))  % Affichage des températures sur graphe
    plot(AX(2),Dates_num,Mat(:,6))
     
    datetick('x','HH:MM') % Permet d'affiche HH:MM à la place de Dates_num
    Mais la aussi matlab me dit ce message :
    ??? Error using ==> plot
    Data must be a single matrix Y or a list of pairs X,Y
    
    Error in ==> premier at 27
    plot(AX(2),Dates_num,Mat(:,6))
    Je peine à comprendre pardon

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/10/2013, 08h20
  2. [Débutant] comment déplacer l'axe des ordonnées dans une courbe
    Par khalid_info dans le forum MATLAB
    Réponses: 3
    Dernier message: 25/12/2012, 13h30
  3. Réponses: 3
    Dernier message: 22/11/2011, 10h14
  4. Réponses: 1
    Dernier message: 09/03/2009, 09h26
  5. Modifier le Mini et le maxi de l'axe des ordonnées
    Par Jeannot45 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 15h49

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