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 :

Axes multiples sur un graphe.


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut Axes multiples sur un graphe.
    bonjour, j'aurais voulu avoir une aide pour ajouter un second axe horizontal sur un graphique.

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x=-pi:0.05:pi;
    y=cos(x);
    plot(x,y)
    L'axe des abscisses donne les abscisses en radians, comment faire pour avoir un second axe horizontal (de couleur différente éventuellement) au niveau du bord haut du cadre, indiquant par exemple, les abscisses en degrés ??

    J'ai essayé avec axes mais il doit y avoir une astuce parce que çà ne me met rien.

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Voila l'idée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    x=-pi:0.05:pi;
    y=cos(x);
    plot(x,y)
     
    xt=get(gca,'xtick');
     
    ax=copyobj(gca,gcf);
     
    set(ax,'color','none',...
        'ytick',[],...
        'xaxislocation','top',...
        'xticklabel',num2str(xt.'*180/pi,'%.2f'))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    Oui çà marche ... presque

    en fait dans le libellé color, si je remplace none par g pour vert, par exemple, çà me met le fond du graphe en vert et pas l'axe et les labels ...

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Effectivement, c'est un peu plus compliqué... il y a plus de conflits de superposition :
    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
    x=-pi:0.05:pi;
    y=cos(x);
     
    figure
     
    plot(x,y)
     
    xt=get(gca,'xtick');
    col=get(gca,'color');
    set(gca,'box','off','color','none')
     
    ax=copyobj(gca,gcf);
     
    set(ax,'color',col,...
        'box','on',...
        'ytick',[],...
        'xaxislocation','top',...
        'xticklabel',num2str(xt.'*180/pi,'%.2f'), ...
        'xcolor','g')
     
    uistack(ax,'bottom');

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    J'y arrive pas ...

    J'ai un axe des abscisses par défaut allant de 0 à 360 par pas de 90 et j'ai besoin d'un second axe horizontal allant de 20 à 120 par pas de 20 sans rapports avec le premier axe ...

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Comme ceci :
    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
    x=-pi:0.05:pi;
    y=cos(x);
     
    figure
     
    plot(x,y)
     
    col=get(gca,'color');
    set(gca,'box','off','color','none')
     
    ax=copyobj(gca,gcf);
     
    set(ax,'color',col,...
        'box','on',...
        'ytick',[],...
        'xaxislocation','top',...
        'xlim',[20 120],...
        'xtick',20:20:120,...
        'xticklabel',num2str([20:20:120].','%.2f'), ...
        'xcolor','g')
     
    uistack(ax,'bottom');

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    C'est avec une joie immense que je cliques sur le bouton

    Merci à tous les 2

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/01/2013, 17h38
  2. Modification d'un axe sur un graphe
    Par bendesarts dans le forum MATLAB
    Réponses: 5
    Dernier message: 23/11/2010, 10h00
  3. [Vxi3] Mise en forme de l'axe X sur un graphe
    Par PAYASS59 dans le forum Webi
    Réponses: 1
    Dernier message: 07/10/2010, 15h17
  4. [6.5] Graphe avec axe Z sur certaines données
    Par perfectdams dans le forum Débuter
    Réponses: 1
    Dernier message: 22/06/2009, 15h47
  5. Créer un deuxième axe Y sur un graph via l'API
    Par meurwinn dans le forum BIRT
    Réponses: 1
    Dernier message: 13/05/2008, 18h38

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