// Steven Andrews, 10/22/01 // Written on Linux /* See documentation called gnuPipe doc */ /* Copyright 2003 by Steven Andrews. Permission is granted for non-commercial use of and modifications to the code. */ #include FILE *gnuWindow() { FILE *gnu; gnu=popen("gnuplot","w"); if(gnu) fprintf(gnu,"set nokey\n"); return gnu; } void gnuKill(FILE *gnu) { fclose(gnu); return; } void gnuCmd(FILE *gnu,char *s) { fprintf(gnu,"%s\n",s); fflush(gnu); return; } void gnuSetScales(FILE *gnu,float xa,float xb,float ya,float yb) { if(xa==xb) fprintf(gnu,"set autoscale x\n"); else fprintf(gnu,"set xrange[%f:%f]\n",xa,xb); if(ya==yb) fprintf(gnu,"set autoscale y\n"); else fprintf(gnu,"set yrange[%f:%f]\n",ya,yb); fflush(gnu); return; } void gnuPrompt(FILE *gnu) { char s[256]; fprintf(stderr,"Press enter to continue program.\n"); fprintf(stderr,"gnuPlot> "); fgets(s,256,stdin); while(strcmp(s,"\n")!=0) { fprintf(gnu,"%s",s); fflush(gnu); fprintf(stderr,"gnuPlot> "); fgets(s,256,stdin); } return; } void gnuData(FILE *gnu,float *x,float *y,int m,int col) { int i,j; fprintf(gnu,"plot "); for(j=0;j