parent
6018741c79
commit
68ddde792e
33
rfplot.c
33
rfplot.c
|
@ -823,6 +823,8 @@ void dec2sex(double x,char *s,int f,int len)
|
||||||
if (len==5) sprintf(s,"%c%02i%c%02i%c%05.2f%c",sign,(int) deg,form[f][0],(int) min,form[f][1],sec,form[f][2]);
|
if (len==5) sprintf(s,"%c%02i%c%02i%c%05.2f%c",sign,(int) deg,form[f][0],(int) min,form[f][1],sec,form[f][2]);
|
||||||
if (len==4) sprintf(s,"%c%02i%c%02i%c%04.1f%c",sign,(int) deg,form[f][0],(int) min,form[f][1],sec,form[f][2]);
|
if (len==4) sprintf(s,"%c%02i%c%02i%c%04.1f%c",sign,(int) deg,form[f][0],(int) min,form[f][1],sec,form[f][2]);
|
||||||
if (len==2) sprintf(s,"%c%02i%c%02i%c%02i%c",sign,(int) deg,form[f][0],(int) min,form[f][1],(int) floor(sec),form[f][2]);
|
if (len==2) sprintf(s,"%c%02i%c%02i%c%02i%c",sign,(int) deg,form[f][0],(int) min,form[f][1],(int) floor(sec),form[f][2]);
|
||||||
|
if (len==1) sprintf(s,"%02i%c%02i%c%02i",(int) deg,form[f][0],(int) min,form[f][1],(int) floor(sec));
|
||||||
|
if (len==0) sprintf(s,"%02i%c%02i",(int) deg,form[f][0],(int) min,form[f][1]);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -836,14 +838,14 @@ void time_axis(double *mjd,int n,float xmin,float xmax,float ymin,float ymax)
|
||||||
char stime[16];
|
char stime[16];
|
||||||
|
|
||||||
// Find extrema
|
// Find extrema
|
||||||
for (i=0;i<n;i++) {
|
imin=(int) xmin;
|
||||||
if (i==0) {
|
if (imin<0)
|
||||||
mjdmin=mjd[i];
|
imin=0;
|
||||||
mjdmax=mjd[i];
|
imax=(int) xmax;
|
||||||
} else {
|
if (imax>=n)
|
||||||
if (mjd[i]>mjdmax) mjdmax=mjd[i];
|
imax=n-1;
|
||||||
}
|
mjdmin=mjd[imin];
|
||||||
}
|
mjdmax=mjd[imax];
|
||||||
dt=(float) 86400*(mjdmax-mjdmin);
|
dt=(float) 86400*(mjdmax-mjdmin);
|
||||||
|
|
||||||
// Choose tickmarks
|
// Choose tickmarks
|
||||||
|
@ -862,11 +864,14 @@ void time_axis(double *mjd,int n,float xmin,float xmax,float ymin,float ymax)
|
||||||
} else if (dt>900) {
|
} else if (dt>900) {
|
||||||
lsec=300;
|
lsec=300;
|
||||||
ssec=60;
|
ssec=60;
|
||||||
|
} else if (dt>300) {
|
||||||
|
lsec=120;
|
||||||
|
ssec=60;
|
||||||
} else {
|
} else {
|
||||||
lsec=60;
|
lsec=20;
|
||||||
ssec=10;
|
ssec=5;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extrema
|
// Extrema
|
||||||
tmin=86400.0*(mjdmin-floor(mjdmin));
|
tmin=86400.0*(mjdmin-floor(mjdmin));
|
||||||
tmax=tmin+dt;
|
tmax=tmin+dt;
|
||||||
|
@ -881,8 +886,10 @@ void time_axis(double *mjd,int n,float xmin,float xmax,float ymin,float ymax)
|
||||||
if (mjdt>=mjd[i] && mjdt<mjd[i+1])
|
if (mjdt>=mjd[i] && mjdt<mjd[i+1])
|
||||||
break;
|
break;
|
||||||
sec=(int) floor(fmod(t,86400.0));
|
sec=(int) floor(fmod(t,86400.0));
|
||||||
dec2sex(((float) sec+0.1)/3600.0,stime,0,2);
|
if (dt < 300)
|
||||||
stime[6]='\0';
|
dec2sex(((float) sec+0.1)/3600.0,stime,0,1);
|
||||||
|
else
|
||||||
|
dec2sex(((float) sec+0.1)/3600.0,stime,0,0);
|
||||||
cpgtick(xmin,ymin,xmax,ymin,((float) i-xmin)/(xmax-xmin),0.5,0.5,0.3,0.0,stime);
|
cpgtick(xmin,ymin,xmax,ymin,((float) i-xmin)/(xmax-xmin),0.5,0.5,0.3,0.0,stime);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue