Accueil > Forum > > > > appel de gnuplot a partir d'un prog en c++
appel de gnuplot a partir d'un prog en c++
jeudi 10 août 2006 à 00:08:30 |
appel de gnuplot a partir d'un prog en c++

keno83
|
bonjour,
je vous explique un peu la situation: j'ai un fichier .txt avec
plusieurs colonnes et j'aimerai faire un graphe des colonnes 2,3
etc en fonction de la colonne 1...
D'apres les quelques recherches que j'ai faite, il faudrait que j'utilise 'using' dans la syntaxe gnuplot.
J'aimerai donc savoir comment je peux directement appeler gnuplot a
partir d'un programme c++ pour que l'afficahge du graphe se fasse
directement à l'execution du programme.
Il me semble qu'il faut utiliser la fonction 'system' mais je n'en suis pas sur
Si quelqu'un peut m'aider...
|
|
jeudi 10 août 2006 à 09:43:48 |
Re : appel de gnuplot a partir d'un prog en c++

turnerom
|
Oui, c'est ca; tu dois utiliser system.
Essaye deja de trouver la bonne ligne de commande en la tappant
directement dans la console, une fois que tu la trouver, tu l'appel
dans ton prog avec system :
system("gnuplot argument");
TuRn3r
|
|
jeudi 10 août 2006 à 21:25:44 |
Re : appel de gnuplot a partir d'un prog en c++

keno83
|
ok
et est ce qu'il est possible de faire varier une variable dans l'argument
Par la je veux dire, j'ai un fichier avec plusieurs colonnes.
Pour faire le graphe de la colonne 2 en fonction de la colonne 1 j'aurai dans l'argument quelque chose du genre 'using 1:2'...
serait il alors possible de faire varier le 2 du genre a avoir
for (k=0,k<size,k++)
system('........using 1:k')
|
|
jeudi 10 août 2006 à 21:38:07 |
Re : appel de gnuplot a partir d'un prog en c++

turnerom
|
oui, formatte la chaine avant de l'envoyer
std::stringstream cmd: for (k=0,k<size,k++) { cmd << "gnuplot using 1:" << k ;
system(cmd.str.c_str()); }
ou si tu est en C utilise sprintf à la place, l'idée reste la même
TuRn3r
|
|
jeudi 10 août 2006 à 21:40:50 |
Re : appel de gnuplot a partir d'un prog en c++

turnerom
|
oui, tu es en C++, j'avias pas vu, fais ca ca devrai marcher (si la syntaxe est bonne)
std::stringstream cmd; for (size_t k=0, k<size, k++) { cmd << "gnuplot using 1:" << k ;
system(cmd.str().c_str()); }
TuRn3r
|
|
jeudi 10 août 2006 à 22:40:25 |
Re : appel de gnuplot a partir d'un prog en c++

keno83
|
merci pour tes reponses j'essaie ca de suite...
par contre petite question pour comprendre un peu ce que tu m'indiques:
pourquoi le 'size_t' devant k=0,k<size,k++)
qu'est ce que cela signifie
deuxieme petite question: il doit y avoir un en-tete a rajouter pour utiliser stringstream,non
et derniere question: si je me fie a tes dires, la syntaxe de mon programme doit donc etre:
std::stringstream cmd;
for(size_t k=0;k<size;k++)
{
cmd<<"gnuplot plot 'res.txt' using 1:"<<k;
system(cmd.str().c_str());
}
En tout cas merci beaucoup pour toutes tes indications
|
|
jeudi 10 août 2006 à 23:48:11 |
Re : appel de gnuplot a partir d'un prog en c++

turnerom
|
pourquoi le 'size_t' --> size_t correspond à un unsigned int, c'est exactement pareil mais plus sourt à écrire (faignantise pure)
deuxieme petite question: il doit y avoir un en-tete a rajouter pour utiliser stringstream,non --> oui : <sstream>
et derniere question: si je me fie a tes dires, la syntaxe de mon programme doit donc etre:
std::stringstream cmd; for(size_t k=0;k<size;k++) { cmd<<"gnuplot plot 'res.txt' using 1:"<<k;
system(cmd.str().c_str()); } --> oui mais pourquoi ton fichier est entre ' ', je suis pas sur que ce soit utile (à vérifier néanmoins)
TuRn3r
|
|
vendredi 11 août 2006 à 21:55:09 |
Re : appel de gnuplot a partir d'un prog en c++

keno83
|
merci pour toutes tes indications, je pense arriver a la solution
par contre petit souci:
lorsque j'ecris cmd<<"gnuplot plot 'res.txt' using 1:"<<k
a l'execution, le compilateur me dit qu'il ne trouve pas le fichier
plot, ce qui laisse penser que la déclaration 'gnuplot plot 'res.txt'
using ... n'est pas la bonne...
si quelqu'un sait quelle est la syntaxe a utiliser
merci d'avance
|
|
mercredi 27 juin 2007 à 10:29:03 |
Re : appel de gnuplot a partir d'un prog en c++

fabienquillet
|
je voudrai appeller la fonction gnuplot avec un programme c est ce que tu connais la syntaxe
merci d'avance
|
|
mercredi 27 juin 2007 à 10:37:29 |
Re : appel de gnuplot a partir d'un prog en c++

turnerom
|
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);
TuRn3r
|
|
Cette discussion est classée dans : partir, appel, prog, colonnes, gnuplot
Répondre à ce message
Sujets en rapport avec ce message
Lancer un autre fichier à partir d'un prog en C++ [ par trinitacs ]
J'aimerai lancer un .bat à partir de mon prog en C++. Coment dois-je faire?Est-ce que le .bat peut s'éxécuetr de manière différentes suivant la manièr
Appel dll VB6 à partir de C++ [ par stof35 ]
Bonjour,Je dois réaliser l'intégration d'une DLL écrite en VB6 par un prestataire externe dans un projet C++. J'ai essayé par des moyens classiques ma
Raccourci-savoir si mon prog est lancé à partir d'un raccourci [ par Nomis ]
Bonjour,Win98SE,MeAvec les API: comment savoir si mon programme est lancé à partir d'un raccourci (ex: prog.lnk sur le bureau faisant référence à prog
appel d'une fonction [ par dletozeun ]
bonjour,Je voudrais savoir s'il est possible d'appeler une fonction dont ont ne connais pas le nom dans le prog lui meme, mais en le recuperant dans u
Executer un prog linux(commandes) a partir d'un prog windows(C++) [ par angeljp ]
Salut,Je voudrais savoir s'il est possible d'executer à partir d'un PC sous Win2k un programme se trouvant sur une station Linux ?Autre chose : je vou
Appel de fonction VB a partir de C++ [ par sekatirex ]
bonjour, jvoudrai savoir si on peu appeler un fonction ou program écrit en VB5 a a partir d'une programme en C++.!
Appel de fonction VB a partir de C++ [ par sekatirex ]
car en fet je voudra fer un programme ki utile deux otre programme dont 1 en c++ et lotre en VB!en c++ c un programm de dessin et en vb un ocr !en mél
Lancement d'une appli a partir d'un prog [ par kididouille ]
Bonjour à tous!J'ai une ptite appli MFC et je voudrai lors d'un appui sur un bouton ouvrir wordpad bloc note ou un editeur de texteQuels sont les com
Piloter excel a partir d'un prog externe. [ par SnOOpss ]
Bonjour, bon je pense que le titre est assez explicite, en fait j'ai trouvé la source suivante http://www.cppfrance.com/codes/AUTOMATISER-EXCEL-SANS-M
Appel fonction avec GTK+ [ par ptityo31 ]
Bonjour,je débute sur GTK+, et j'aimerai avoir des précisions sur le lancement d'une application à partir d'un clic.En effet je dois envoyer des trame
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|