Fiz um programa em C++ que cria um arquivo .txt com três colunas. Meu objetivo é fazer com que o Gnuplot coloque as duas últimas colunas em gráfico. O arquivo .txt está sendo gerado normalmente, e o script do Gnuplot está funcionando normalmente. O problema é que quando chamo o Gnuplot pelo C++, o arquivo .txt não funciona mais. Alguém sabe o problema?
Estou enviando os dois arquivos abaixo: criaFile.cpp e livplot.gnu
/*if(teste == NULL){
printf("Arquivo não pode ser aberto\n");
getchar();
exit(1);
}*/
system("gnuplot liveplot.gnu");
for (int i=0; i<20; i++){
int a = i;
int b = i+i;
int c = i*i;
teste = fopen("testefile.txt", "a");
fprintf(teste, "%d \t %d \t %d \n", a, b, c);
fclose(teste);
sleep(1);
}
return 0;
}
Arquivo liveplot.gnu
set xrange [0:20]
set yrange [0:400]
plot "testefile.txt" using 1:2 with lines
replot "testefile.txt" using 1:3 with lines
pause 1
reread
Pergunta
amp35br
Fiz um programa em C++ que cria um arquivo .txt com três colunas. Meu objetivo é fazer com que o Gnuplot coloque as duas últimas colunas em gráfico. O arquivo .txt está sendo gerado normalmente, e o script do Gnuplot está funcionando normalmente. O problema é que quando chamo o Gnuplot pelo C++, o arquivo .txt não funciona mais. Alguém sabe o problema?
Estou enviando os dois arquivos abaixo: criaFile.cpp e livplot.gnu
Arquivo criaFile.cpp
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main (){
FILE *teste;
/*if(teste == NULL){
printf("Arquivo não pode ser aberto\n");
getchar();
exit(1);
}*/
system("gnuplot liveplot.gnu");
for (int i=0; i<20; i++){
int a = i;
int b = i+i;
int c = i*i;
teste = fopen("testefile.txt", "a");
fprintf(teste, "%d \t %d \t %d \n", a, b, c);
fclose(teste);
sleep(1);
}
return 0;
}
Arquivo liveplot.gnu
set xrange [0:20]
set yrange [0:400]
plot "testefile.txt" using 1:2 with lines
replot "testefile.txt" using 1:3 with lines
pause 1
reread
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.