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 :

graphique à 2 ordonnées [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut graphique à 2 ordonnées
    bonjour à tous
    je sollicite votre aide parce qu'après avoir cherché un peu partout je n'arrive pas à obtenir ce que je veux
    je souhaite faire un graphe avec deux axes en ordonnées, jusque là pas de problème je fait avec plotyy mais une fois que mon graphe et effectué les deux courbes sont tassées chacune de leur coté du graphique. je m'explique j'ai des données de pression atmosphérique (proche de 1000) et des données de pression de vagues qui sont égal à la profondeur (proche de 1), en abscisse j'ai deux vecteurs temps qui vont tout deux du 16 au 22 seul le nombre de données change entre les deux

    voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plotyy(tempsmeteo,pressionbaro,temps,pressionvague)
    mais la première courbe reste tassée a droite et la seconde à gauche

    j'ai ensuite ajouté un datetick et c'est mieux c'est à dire que la première courbe s'affiche correctement mais la seconde reste totalement tassée sur la droite de mon graphique
    j'ai essayé de mettre un deuxième datetick mais rien à faire

    Merci d'une réponse j'avoue être très pressé

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    que valent tempsmeteo(1), tempsmeteo(end),temps(1) et temps(end) ?
    Fabien

  3. #3
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    le tempsmétéo(1) c'est le 16/03/2013 c'est la première ligne tempsmétéo(end) c'est le 22/03/2013 à 23 h c'est la ligne 259
    temps(1) c'est le 16/03/2013 à 11h 08 et le temps (end) c'est le 22/03/2013 à 12h03 c'est la ligne 2 083 421

    Merci déjà d'avoir répondu et je ne sais pas si ma réponse et celle que tu attends

  4. #4
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    bon il me semble qu'il faut utiliser un keeplimits mais dans l'aide datetick j'ai pas tout compris
    ils disent datetick(...,'keeplimits') mais je sais pas ce que je dois mettre à la place des ...

  5. #5
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par lagrigue Voir le message
    le tempsmétéo(1) c'est le 16/03/2013 c'est la première ligne tempsmétéo(end) c'est le 22/03/2013 à 23 h c'est la ligne 259
    temps(1) c'est le 16/03/2013 à 11h 08 et le temps (end) c'est le 22/03/2013 à 12h03 c'est la ligne 2 083 421

    Merci déjà d'avoir répondu et je ne sais pas si ma réponse et celle que tu attends
    en fait ce que je voulais te demander c'est de bien verifier que les valeurs (réelles) de tes deux vecteurs temps soient bien 'à peu près' sur la même plage de temps.
    à mon avis c'est ce qui explique ton problème (ou plutot je ne vois pas d'autres explications), je pense que tes vecteurs temps sont probablement décalés

    ce que tu peux aussi faire, c'est d'interpoler tes deux vecteurs données sur un même vecteur temps commun, cela évite les soucis de ce genre

    je pense aussi que keeplimits ne résoudra pas ton problème

  6. #6
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    merci
    interpolé je sais ce que ça veux dire mais dans les fait j'ai un peu de mal.
    donc j'ai deux matrice de temps qui sont très loin d'avoir la même taille la même taille et je le les interpole
    j'utilise quoi interp1

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Salut,

    il doit en effet y avoir un problème au niveau de la définition de tes vecteurs temps. Plotyy est très pratique mais il faut toujours vérifier que le début et la fin des vecteurs x collent. Or ça semble être le cas.

    Il fait peut-être jouer avec les handles pour essayé de recaler ça. Peux-tu nous dire ce que revoit les "xticklabel" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [AX,H1,H2] = plotyy(...)
    get(AX(1),'Xticklabel')
    get(AX(2),'Xticklabel')
    Par contre, je te déconseille de faire une interpolation sur tes données, surtout si ce sont des données météo ;-)

  8. #8
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    AX =539.0012 541.0012

    H1 = 540.0022


    H2 = 542.0017


    ans =
    7.3495
    7.35
    7.3505
    7.351
    7.3515
    7.352
    7.3525
    7.353


    ans =
    7.3495
    7.35
    7.3505
    7.351
    7.3515
    7.352
    7.3525
    7.353

    voila ce que me renvoie matlab après l'execution de ton code
    mais je cris pas que ce soit ce que tu attends de moi et je ne vois aucune autre réponse autre part c'est pour ça que je t'ai donné ça

  9. #9
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    aller lire les xticklabel n'a pas trop d'interet : ils seront forcement les mêmes sur les 2 axes !!

    par contre que te retourne le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    figure
    hold on
    plot(vtempsmeteo,ones(size(vtempsmeteo),'bo');
    plot(vtemps,2*ones(size(vtemps),'ro');

  10. #10
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    alors ça ne marche pas MATLAB me renvoie un message d'erreur :
    Error using ones
    Trailing string input must be a valid numeric class name.
    je me suis bien-sur permis d'enlever le v devant vtempsmétéo et vtemps
    puisque moi j'ai tempsmeteo et temps

    c'est frustrant de pas réussir à faire quoi que se soit

  11. #11
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    petite erreur de ma part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    figure
    hold on
    plot(tempsmeteo,ones(size(tempsmeteo)),'bo');
    plot(temps,2*ones(size(temps),'ro'));

  12. #12
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    c'est vrai que les deux temps semblent décalés car j'ai deux | | qui découpent le temps alors que c'est le même et qu'il devraient être confondu
    je sais pas si je me suis fait comprendre

    j'ai vu les problèmes de parenthèse je l'avais résolu mais c'est à après que le message d'erreur est apparu

  13. #13
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    je pense que ton problème ne peut être que là : tes deux bases de temps ne coincident pas

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par lagrigue Voir le message
    le tempsmétéo(1) c'est le 16/03/2013 c'est la première ligne tempsmétéo(end) c'est le 22/03/2013 à 23 h c'est la ligne 259
    temps(1) c'est le 16/03/2013 à 11h 08 et le temps (end) c'est le 22/03/2013 à 12h03 c'est la ligne 2 083 421
    Rentres-tu tempsmétéo et temps ainsi sous ce format de date ? Ou utilises-tu bien datenum ?

  15. #15
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par lagrigue Voir le message
    j'ai vu les problèmes de parenthèse je l'avais résolu mais c'est à après que le message d'erreur est apparu
    tempsmeteo et temps ne sont donc pas des vecteurs de chiffres ??
    cela aussi peut expliquer ton pb

  16. #16
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    j'utilise bien datenum
    le code me renvoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Name              Size            Bytes  Class     Attributes
     
      tempsmeteo      259x1              2072  double
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     Name             Size               Bytes  Class     Attributes
     
      temps      2083421x1             16667368  double
    si mon temps est bien des chiffres l'année le mois le jous l'heure min seconde sont des chiffre dans mes fichiers

  17. #17
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    en fait tant que je fais un plotyy les x ne sont pas décalé (mais les courbes sont tassées de leur côté) des que je mets un datetick c'est la que les choses ce décalent mais aussi j'ai la courbe x1,y1 qui est bien représentée (le temps est bon dans ce cas) mais en même temps x2,y2 reste tassé de sont coté et bien-sur le temps reste en datenum
    en faite tout ce passe comme si matlab comprend de faire datetick sur x1,y1 mais pas sur x2,y2
    je crois que le probléme est là
    si je me suis pas fait comprendre je peux recommencer

  18. #18
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    Citation Envoyé par lagrigue Voir le message
    j'ai vu les problèmes de parenthèse je l'avais résolu mais c'est à après que le message d'erreur est apparu
    tu es sur des les avoir mis au bon endroit
    il semblerait d'après le message d'erreur qu'il prenne la chaine 'bo' comme un arguement de ones (pour le type de données)

    sinon si tu n'arrive pas faire le petit graph que je te suggère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    min(temps)
    max(temps)
    min(tempsmeteo)
    max(tempsmeteo)
    (au cas ou tes dates ne soient pas triées)

  19. #19
    Invité
    Invité(e)
    Par défaut
    Essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AX = plotyy(tempsmeteo,pressionbaro,temps,pressionvague);
    datetick(AX(1), <tes paramètres>)
    datetick(AX(2), <tes paramètres>)

  20. #20
    Futur Membre du Club
    Homme Profil pro
    biostatistiques
    Inscrit en
    Avril 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : biostatistiques

    Informations forums :
    Inscription : Avril 2013
    Messages : 14
    Points : 6
    Points
    6
    Par défaut
    alors d'abord désolé fab j'ai oublié de venir dire que c'est moi qui me suis trompé j'avais pas mis les parenthèses au bon endroit et je recommencé après mais ça n'a rien changé

    ensuite j'ai appliqué le code suivant pour essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    plotyy(tempsmeteo,pressionbaro,temps,Moyenne),
    AX = plotyy(tempsmeteo,pressionbaro,temps,pressionvague);
    datetick(AX(1),pressionbaro)
    datetick(AX(2),pression)
    comme vous pouvez voir à la place de paramètre j'ai mis pressionbaro et pression mais j'ai l'impression que ce n'est pas ce qui mets demandé
    je crois avoir mal saisi ce que je dois mettre à la place de mes paramètres

    mais je vois que l'on ma compris je suis sur que la solution est proche
    je ne cherche pas depuis hier pour rien

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Graphique à deux ordonnées
    Par Ptinéwik dans le forum MATLAB
    Réponses: 2
    Dernier message: 03/04/2008, 14h48
  2. Réponses: 2
    Dernier message: 12/09/2007, 09h29
  3. Graphique sous excel : inverser ordonnées/abscisses
    Par yoyostras dans le forum Excel
    Réponses: 2
    Dernier message: 27/07/2007, 13h09
  4. Graphique à double ordonnée ?
    Par jeanchcom dans le forum Access
    Réponses: 5
    Dernier message: 24/08/2006, 11h08

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