58 if (! aid && (rid ==
RI ||rid ==
CH))
60 i = cid / ((this_proj -> nspec+1) * 4);
61 this_proj -> curves[rid][cid] -> axmax[aid] = (rid ==
RI) ? this_proj -> rsparam[i][1]: this_proj -> csparam[5];
62 this_proj -> curves[rid][cid] -> axmax[aid] += 1.0;
63 this_proj -> curves[rid][cid] -> axmin[aid] = (rid ==
RI) ? 2 : 1;
68 this_proj -> curves[rid][cid] -> axmax[aid] = this_proj -> curves[rid][cid] -> data[aid][n];
69 this_proj -> curves[rid][cid] -> axmin[aid] = this_proj -> curves[rid][cid] -> data[aid][n];
70 for ( i=n ; i < this_proj -> curves[rid][cid] -> ndata ; i++ )
72 this_proj -> curves[rid][cid] -> axmax[aid] =
max(this_proj -> curves[rid][cid] -> axmax[aid],
73 this_proj -> curves[rid][cid] -> data[aid][i]);
74 this_proj -> curves[rid][cid] -> axmin[aid] =
min(this_proj -> curves[rid][cid] -> axmin[aid],
75 this_proj -> curves[rid][cid] -> data[aid][i]);
77 CurveExtra * ctmp = this_proj -> curves[rid][cid] -> extrac -> first;
79 for ( j=0 ; j < this_proj -> curves[rid][cid] -> extrac -> extras ; j++ )
85 for ( i=n ; i < that_proj -> curves[k][l] -> ndata ; i++ )
87 this_proj -> curves[rid][cid] -> axmax[aid] =
max(this_proj -> curves[rid][cid] -> axmax[aid],
88 that_proj -> curves[k][l] -> data[aid][i]);
89 this_proj -> curves[rid][cid] -> axmin[aid] =
min(this_proj -> curves[rid][cid] -> axmin[aid],
90 that_proj -> curves[k][l] -> data[aid][i]);
92 if (ctmp -> next != NULL) ctmp = ctmp -> next;
98 this_proj -> curves[rid][cid] -> cmin[aid] = this_proj -> curves[rid][cid] -> axmin[aid];
99 this_proj -> curves[rid][cid] -> cmax[aid] = this_proj -> curves[rid][cid] -> axmax[aid];
100 this_proj -> curves[rid][cid] -> axmin[aid] = this_proj -> curves[rid][cid] -> cmin[aid]
101 - fabs(this_proj -> curves[rid][cid] -> cmin[aid]) / 10.0;
102 this_proj -> curves[rid][cid] -> axmax[aid] = this_proj -> curves[rid][cid] -> cmax[aid]
103 + fabs(this_proj -> curves[rid][cid] -> cmax[aid]) / 10.0;
106 this_proj -> curves[rid][cid] -> axmin[aid] = 0.0;
140 label (cr,
cxy[1] + v + u, 1, 0, this_proj);
145 label (cr,
cxy[1] + v + u, 1, 1, this_proj);
150 label (cr,
cxy[1] + v + u, 1, 0, this_proj);
153 label (cr,
cxy[1] + v + u, 1, 1, this_proj);
186 cairo_set_line_width (cr,
GRIDSIZE);
191 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
192 this_proj -> curves[rid][cid] -> frame_thickness,
193 this_proj -> curves[rid][cid] -> frame_color);
195 if (fmod(u+v,
mticks) != 0.0)
261 if (
cxy[1] >= pow(10, i))
274 for ( l = 0 ; l <
ylog ; l ++ )
276 v = pow (10, l-
dylog);
280 cairo_set_line_width (cr,
GRIDSIZE);
285 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
286 this_proj -> curves[rid][cid] -> frame_thickness,
287 this_proj -> curves[rid][cid] -> frame_color);
294 label (cr, v, 1, 0, this_proj);
299 label (cr, v, 1, 1, this_proj);
304 label (cr, v, 1, 0, this_proj);
307 label (cr, v, 1, 1, this_proj);
327 for ( k = 2 ; k < 10 ; k ++ )
332 cairo_set_line_width (cr,
GRIDSIZE);
337 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
338 this_proj -> curves[rid][cid] -> frame_thickness,
339 this_proj -> curves[rid][cid] -> frame_color);
void label(cairo_t *cr, double val, int axe, int p, project *this_proj)
draw axis label
void setup_yaxis_log(cairo_t *cr, project *this_proj, int rid, int cid, gboolean draw_it)
setup y axis using a log scale
void setup_yaxis_linear(cairo_t *cr, project *this_proj, int rid, int cid)
setup y axis using a linear scale