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

Autres éditeurs Discussion :

definition des axes avec gnuplot


Sujet :

Autres éditeurs

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 8
    Points : 8
    Points
    8
    Par défaut definition des axes avec gnuplot
    bonjour,

    je vous demande de l'aide parce que j'arrive à appeler gnuplot à partir de mon programme pour qu'il me trace des graphes à partir d'enregistrements faits dans des fichiers:

    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
     
    int main ()
    {  
      ...
     
      // AFFICHAGE GRAPHQUE:  
      f = popen("gnuplot", "w");
      g = popen("gnuplot", "w");
      h = popen("gnuplot", "w");
     
      // execution de la commande gnuplot
      fprintf(f, " plot \"biomasse.out\" with lines\n");
      fprintf(g, " plot \"volume.out\" with lines\n");
      fprintf(h, " plot \"nbre_bacteries.out\" with lines\n");
     
      fflush(f);
      fflush(g);
      fflush(h);
     
      // terminer l'envoi de commande et fermer gnuplot
      sleep (10000); 
      pclose(f);
      pclose(g);
      pclose(h);
      return 0;
    }
    Mon problème est le suivant: pourriez vous m'aider en me disant comment modifier mon code tel qu'il me donne le nom des axes x et y.

    En temps normal j'aurai fait appel à gnuplot dans le shell puis j'aurai rentré:
    set xlabel "titre de l'axe des x"
    set ylabel "titre de l'axes des y"
    Mais j'aimerai que ce soit fait directement dans le code...
    Après avoir écumé des sites et des forums, je n'ai rien trouvé...

    Merci de vouloir m'aider.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
        gp        = popen(GNUPLOT_PATH,"w"); 
        if(gp == NULL){
        fprintf(stderr, "Oops, I can’t find %s.", GNUPLOT_PATH);
        exit(EXIT_FAILURE);
        }                                  
    	fprintf(gp,"reset \n");
    	fprintf(gp,"set term windows \n");
    	fflush(gp);
    	fprintf(gp,"set grid x y \n");
    	fflush(gp);
    	fprintf(gp,"set title \"Répartition des nombres générés par le pnrg r250 pour %d de tirages\" tc lt 0 \n",max_generation);
    	fflush(gp);
    //	fprintf(gp,"set xlabel \'Ensemble\' tc lt 0 \n");
    //	fflush(gp);
    	fprintf(gp,"set ylabel \'Nombre de tirages \'  tc lt 0 \n");
    	fflush(gp);
    	fprintf(gp,"set xr [0:1]\n");
    	fflush(gp);
    	fprintf(gp,"set yr [0:%d]\n",(int)(1.2*max_generation/nbr_case));
    	fflush(gp);	
    	fprintf(gp,"set xtics\n");
    	fflush(gp);
    	fprintf(gp,"set ytics\n");
    	fflush(gp);
    	fprintf(gp,"plot \'%s\' u 1:2 title \" \" with boxes fs solid 0.7\n",fp1);
    	fflush(gp);
    	fprintf(gp,"set nokey \n");
    	fflush(gp);	
    	fprintf(gp,"set label \"{/Symbol c}^2 = %f\" tc lt 16 at 0.1,%d \n",chi_2,(int)(1.1*max_generation/nbr_case));
    	fflush(gp);
    	fprintf(gp,"set label \"dl = %d\" tc lt 16 at 0.4,%d \n",
                        (int)(nbr_case-1),(int)(1.1*max_generation/nbr_case));
    	fflush(gp);
    	fprintf(gp,"set label \"{/Symbol c}^{2}_{crit}(%d,%1.2f)= %3.3f\" at 0.65,%d\n",
                        (int)(nbr_case-1.),0.05,123.54,
                        (int)(1.1*max_generation/nbr_case));
    	fflush(gp);           		    
    	fprintf(gp,"set encoding iso_8859_1 \n");
    	fflush(gp);
    	fprintf(gp,"set term post eps landscape enhan mono \"Times-Roman\" 18 \n");
    	fflush(gp);
    	fprintf(gp,"set output \"%s.eps\" \n",fp2);
    	fflush(gp);
    	fprintf(gp,"replot\n");
    	fflush(gp);
        getchar(); 
       	fprintf(gp,"reset\n");
    	fflush(gp);
        fclose(gp);
    avec ce code tu auras les titres et les labels, il suffit de retirer les variables .[/code]

Discussions similaires

  1. Tracer des courbes avec Gnuplot
    Par shadow07 dans le forum Linux
    Réponses: 0
    Dernier message: 26/02/2011, 20h48
  2. gestion des légendes des axes avec imagesc
    Par patrick7413 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 10/07/2008, 19h48
  3. Probleme axe des graduation avec JFreeChart
    Par erkan37 dans le forum 2D
    Réponses: 1
    Dernier message: 28/04/2008, 10h54
  4. Chart mettre un axe avec des dates
    Par rvzip64 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2005, 11h36

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