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;
141 label (cr,
cxy[1] + v + u, 1, 0, this_proj);
146 label (cr,
cxy[1] + v + u, 1, 1, this_proj);
151 label (cr,
cxy[1] + v + u, 1, 0, this_proj);
154 label (cr,
cxy[1] + v + u, 1, 1, this_proj);
188 cairo_set_line_width (cr,
GRIDSIZE);
193 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
194 this_proj -> curves[rid][cid] -> frame_thickness,
195 this_proj -> curves[rid][cid] -> frame_color);
197 if (fmod(u+v,
mticks) != 0.0)
263 if (
cxy[1] >= pow(10, i))
276 for ( l = 0 ; l <
ylog ; l ++ )
278 v = pow (10, l-
dylog);
282 cairo_set_line_width (cr,
GRIDSIZE);
287 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
288 this_proj -> curves[rid][cid] -> frame_thickness,
289 this_proj -> curves[rid][cid] -> frame_color);
296 label (cr, v, 1, 0, this_proj);
301 label (cr, v, 1, 1, this_proj);
306 label (cr, v, 1, 0, this_proj);
309 label (cr, v, 1, 1, this_proj);
329 for ( k = 2 ; k < 10 ; k ++ )
334 cairo_set_line_width (cr,
GRIDSIZE);
339 prep_frame (cr, this_proj -> curves[rid][cid] -> frame_dash,
340 this_proj -> curves[rid][cid] -> frame_thickness,
341 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