--- imach/src/imach.c 2014/06/18 17:54:09 1.152 +++ imach/src/imach.c 2014/06/20 16:45:46 1.153 @@ -1,6 +1,10 @@ -/* $Id: imach.c,v 1.152 2014/06/18 17:54:09 brouard Exp $ +/* $Id: imach.c,v 1.153 2014/06/20 16:45:46 brouard Exp $ $State: Exp $ $Log: imach.c,v $ + Revision 1.153 2014/06/20 16:45:46 brouard + Summary: If 3 live state, convergence to period prevalence on same graph + Author: Brouard + Revision 1.152 2014/06/18 17:54:09 brouard Summary: open browser, use gnuplot on same dir than imach if not found in the path @@ -506,11 +510,11 @@ extern int errno; #define ODIRSEPARATOR '/' #endif -/* $Id: imach.c,v 1.152 2014/06/18 17:54:09 brouard Exp $ */ +/* $Id: imach.c,v 1.153 2014/06/20 16:45:46 brouard Exp $ */ /* $State: Exp $ */ char version[]="Imach version 0.98nT, January 2014,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)"; -char fullversion[]="$Revision: 1.152 $ $Date: 2014/06/18 17:54:09 $"; +char fullversion[]="$Revision: 1.153 $ $Date: 2014/06/20 16:45:46 $"; char strstart[80]; char optionfilext[10], optionfilefiname[FILENAMELENGTH]; int erreur=0, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ @@ -3990,6 +3994,7 @@ void printinggnuplot(char fileres[], cha strcpy(dirfileres,optionfilefiname); strcpy(optfileres,"vpl"); /* 1eme*/ + fprintf(ficgp,"\n# 1st: Period (stable) prevalence with CI: 'vpl' files\n"); for (cpt=1; cpt<= nlstate ; cpt ++) { for (k1=1; k1<= m ; k1 ++) { /* plot [100000000000000000000:-100000000000000000000] "mysbiaspar/vplrmysbiaspar.txt to check */ fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"v"),cpt,k1); @@ -4017,7 +4022,7 @@ plot [%.f:%.f] \"%s\" every :::%d::%d u } } /*2 eme*/ - + fprintf(ficgp,"\n# 2nd: Total life expectancy with CI: 't' files\n"); for (k1=1; k1<= m ; k1 ++) { fprintf(ficgp,"\nset out \"%s%d.png\" \n",subdirf2(optionfilefiname,"e"),k1); fprintf(ficgp,"set ylabel \"Years\" \nset ter png small size 320, 240\nplot [%.f:%.f] ",ageminpar,fage); @@ -4074,28 +4079,29 @@ plot [%.f:%.f] \"%s\" every :::%d::%d u } /* CV preval stable (period) */ - for (k1=1; k1<= m ; k1 ++) { - for (cpt=1; cpt<=nlstate ; cpt ++) { + for (k1=1; k1<= m ; k1 ++) { /* For each multivariate if any */ + for (cpt=1; cpt<=nlstate ; cpt ++) { /* For each life state */ k=3; + fprintf(ficgp,"\n#\n#\n#CV preval stable (period): 'pij' files, cov=%d state=%d",k1, cpt); fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"p"),cpt,k1); + l=(nlstate+ndeath)*(cpt-1)+1; fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \n\ set ter png small size 320, 240\n\ unset log y\n\ -plot [%.f:%.f] \"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",ageminpar,agemaxpar,subdirf2(fileres,"pij"),k1,k+cpt+1,k+1); - - for (i=1; i< nlstate ; i ++) - fprintf(ficgp,"+$%d",k+i+1); - fprintf(ficgp,")) t\"prev(%d,%d)\" w l",cpt,cpt+1); - - l=3+(nlstate+ndeath)*cpt; - fprintf(ficgp,",\"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",subdirf2(fileres,"pij"),k1,l+cpt+1,l+1); - for (i=1; i< nlstate ; i ++) { - l=3+(nlstate+ndeath)*cpt; - fprintf(ficgp,"+$%d",l+i+1); - } - fprintf(ficgp,")) t\"prev(%d,%d)\" w l\n",cpt+1,cpt+1); - } - } +plot [%.f:%.f] ", ageminpar, agemaxpar); + for (i=1; i<= nlstate ; i ++){ + if(i==1) + fprintf(ficgp,"\"%s\"",subdirf2(fileres,"pij")); + else + fprintf(ficgp,", '' "); + fprintf(ficgp," u ($1==%d ? ($3):1/0):($%d/($%d",k1,k+l,k+l); + for (j=1; j<= (nlstate-1) ; j ++) + fprintf(ficgp,"+$%d",k+l+j); + fprintf(ficgp,")) t \"prev(%d,%d)\" w l",i,cpt); + } /* nlstate */ + fprintf(ficgp,"\n"); + } /* end cpt state*/ + } /* end covariate */ /* proba elementaires */ for(i=1,jk=1; i <=nlstate; i++){ @@ -6673,11 +6679,11 @@ Interval (in months) between two waves: printf("Starting graphs with: %s\n",plotcmd);fflush(stdout); if((outcmd=system(plotcmd)) != 0){ - printf("\n Problem with gnuplot command %s\n", plotcmd); + printf("\n Problem with gnuplot command %s, err=%d\n", plotcmd, outcmd); printf("\n Trying on same directory\n"); sprintf(plotcmd,"%sgnuplot %s", pathimach, optionfilegnuplot); if((outcmd=system(plotcmd)) != 0) - printf("\n Still a problem with gnuplot command %s\n", plotcmd); + printf("\n Still a problem with gnuplot command %s, err=%d\n", plotcmd, outcmd); } printf(" Wait..."); while (z[0] != 'q') { @@ -6688,11 +6694,11 @@ Interval (in months) between two waves: if (z[0] == 'e') { #ifdef OSX sprintf(pplotcmd, "open %s", optionfilehtm); -#elsedef +#else sprintf(pplotcmd, "%s", optionfilehtm); -#enddef - printf("Starting browser with: %s",plotcmd);fflush(stdout); - system(plotcmd); +#endif + printf("Starting browser with: %s",pplotcmd);fflush(stdout); + system(pplotcmd); } else if (z[0] == 'g') system(plotcmd); else if (z[0] == 'q') exit(0);