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 :

Indice de puissance sur les XTickLabels [Débutant]


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Indice de puissance sur les XTickLabels
    Bonjour

    Je cherche a avoir des indices de puissance sur les chiffres des XTickLabel ou YTick ou ZTick.

    C'est a dire passe de la formule 1.0E-10 a 10 avec un -9 passe en puissance en haut a droite. Je parviens a le faire sans probleme dans les legendes des axes ainsi que le titre de la figure (avec la commande 1.0^{-9} par exemple) mais cela a l'air plus complexe sur les TickLabels.
    Pourtant lorsque l'on demande a passe d'un echelle lineaire a une echelle logarithmique Matlab le fait tout seul.

    Avez vous une solution a me proposer?

    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 302
    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 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Citation Envoyé par Copepode Voir le message
    Pourtant lorsque l'on demande a passe d'un echelle lineaire a une echelle logarithmique Matlab le fait tout seul.
    Malheureusement, ce n'est pas possible de reproduire exactement le même comportement à la main.

    Maintenant, il est possible de s'en sortir 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    x = 1:1E4:1E5;
    y = 5*rand(1,numel(x));
     
    figure
    plot(x,y);
     
    % Récupération des xtick
    xt = get(gca,'xtick');
    % Supression des labels correspondants
    set(gca,'xticklabel','');
     
    % Cas particulier si xt = 0
    idx = xt == 0;
     
    % Puissance de chaque xt
    p = floor(log10(abs(xt)));
    xtL = round(xt.*10.^(-p));
     
    % Cas de xt = 0
    p(idx) = 0;
    xtL(idx) = 0;
     
    % Création des nouveaux labels
    str = strcat(num2str(xtL(:)),{'x10^'},num2str(p(:)));
    % Cas xt = 0
    str{idx} = '0';
     
    % Récupération des dimensions du graphiques selon
    % y pour bien placer les nouveaux labels
    yl = ylim;
    yt = yl(2)-yl(1);
    text(xt,repmat(yl(1)-.05*yt,1,numel(xt)),str,'hor','center')
    Attention, cette solution ne marche plus si on active la fonction ZOOM par exemple
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci bien

    Oui la technique de rajouter une ligne de texte pour les Ticks peut etre un moyen de contourner le probleme. Bizarre que Matlab n'est pas deja pense a une solution plus pratique pour ce probleme

    Merci encore

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

Discussions similaires

  1. Java chute sur les indices Tiobe et PyPl
    Par Hinault Romaric dans le forum Actualités
    Réponses: 44
    Dernier message: 22/12/2013, 14h27
  2. Réponses: 1
    Dernier message: 26/11/2013, 11h25
  3. [Débutant] afficher l'indice sur les labels
    Par feather1 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 26/10/2007, 14h29
  4. fonction sur les puissances
    Par sandball22 dans le forum C
    Réponses: 12
    Dernier message: 11/06/2007, 21h00
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

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