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

Octave Discussion :

Génération de diagramme


Sujet :

Octave

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Génération de diagramme
    Bonjour,

    Avant de présenter mon soucis, je précise que je suis sous Octave 3.2.4 tournant sous Windows 7 et non sous Matlab.

    Je voudrais réaliser ce même graphique:



    J'ai donc débuté par l'ajout de vecteurs:
    X=[0 ;8]
    Y=[0]
    A=[1 87 ; 1 137]
    B=[2 87 ; 2 141]
    ...

    Ici le '...' signifie 'etc' et non la syntaxe Octave.

    Génération de mon graphique (+ génération PDF):
    plot(x,y,a(:,1),a(:,2),b(:,1),b(:,2),(c(:,1),c(:,2)…) ; print diagramme.pdf -dpdf
    Suite au plot, j'obtiens ceci:



    On se rapproche plus ou moins de ce que je souhaite, seulement je n'arrive pas à figer les valeurs des axes, je suis obligé de "gruger" en créant deux vecteurs (x et y), se dessinant sur l'axe des abscisses (de 0 à 8, et ma dernière valeur est à 7)... Ce n'est pas très propre. En effet j'ai remarqué qu'Octave pose les bornes d'interval à partir de la première valeurs des vecteurs, ex si mon vecteur commence à 1, les abscisses commenceront à 1 et je veux commencer de 0.


    Ensuite je voudrais modifier le nom de mes valeurs sur l'axe des abscisses:
    xName = ['M1';'S1';'M2';'S2';'M3';'S3';'M4';'S4';'M5'];
    set (gca,xName,x)
    Et celui-ci retourne:
    error: set: unknown property "M1"
    Peu importe ce que je renseigne, il me renvoie toujours la même erreur.
    Donc je ne sais pas trop...
    Éventuellement si vous auriez une idée pour délimiter les segments comme l'image d'origine, toutes les propositions tendant de se rapprocher le plus possible de l'image d'origine sont les bienvenues.

    Merci d'avance :-)

  2. #2
    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,

    concernant le graphique, regarde du côté de errorbar.

    Pour ce qui est de l'axe des x, ca devrait se passer comme sur Matlab. Avec ta commande actuelle, tu ne modifies rien. Il faut que tu utilises les xticklabel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set (gca,'xticklabel',xName)
    Pour les valeurs de x, tu peux également modifier les xtick

    par exemple

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Un grand merci car tes 3 réponses fonctionnent.

    En faisant un test rapide "errorbar" semble gérer la fermeture des segments :-)
    Pour l'intervalle ainsi que le renommage de l'axe cela fonctionne parfaitement.

    Je vais continuer à fouiller pour errorbar et je reviens vers toi si j'ai des soucis.
    Je laisse le poste ouvert jusqu'à demain avant de le passer en résolu car il l'est en grande partie.
    Je n'ai plus trop le temps de chercher là mais demain j'aurai ma journée :-)

    Merci pour ta réactivité et ton aide :-)

  4. #4
    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


    Tu peux faire pas mal de chose avec errorbar et ca a été concu pour "fermer les segments". A voir toutefois si c'est pareil sur matlab et sur octave. Ca, je te laisse faire.

    Si tu as d'autres soucis, n'hésites pas.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Bon je ne m'en sors pas avec "errorbar"... :/
    Si quelqu'un pouvait me donner juste une exemple de coordonnées à renseigner.
    Si j'utilise la même forme que pour la fonction plot, cela ne donne pas le même type de résultat.
    Je n'arrive pas à obtenir les barres comme sur l'image exemple.

    Merci d'avance pour un dernier coup de pouce :-)

  6. #6
    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
    Je te mets un exemple simple d'utilisation de la fonction errorbar.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    X = 1:9';
    Y =[110 100 95 105 98 103 107 102 112]';
    E=[10 9 7 12 5 3 15 6 8]';
     
    errorbar(X,Y,E,'linestyle','none') 
    ylim([75 125])
     
    xName = ['  ';'M1';'S1';'M2';'S2';'M3';'S3';'M4';'S4';'M5';'  '];
     xlim([0 10])
     set (gca,'xticklabel',xName)
    Si tu n'y arrives toujours pas, montre nous le code que tu as. Ca nous aidera

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci pour ton exemple.
    J'ai bien saisi le fonctionnement.


    EDIT:
    Je pense que ce sera ma dernière question concernant le graphique.
    Voici ce que j'obtiens:



    Serait-il possible de supprimer les points au milieu des segments ainsi que la droite qui les relie ?

    Merci pour votre patience :-)

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

Discussions similaires

  1. Génération des diagramme UML
    Par aymenkssi dans le forum UML
    Réponses: 2
    Dernier message: 02/05/2009, 16h13
  2. INstallation de eclipse UML et génération de diagramme
    Par varfendell dans le forum Eclipse
    Réponses: 4
    Dernier message: 22/07/2008, 10h20
  3. Génération de diagramme
    Par Eògan dans le forum Delphi
    Réponses: 4
    Dernier message: 22/05/2007, 14h56
  4. XDE : génération de diagrammes à partir du code?
    Par caro_ dans le forum Rational
    Réponses: 1
    Dernier message: 08/12/2006, 10h31
  5. Réponses: 3
    Dernier message: 26/07/2006, 10h03

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