5.3.1 Ranges (bounding box)

MGL command: xrange v1 v2 [add=off]
MGL command: yrange v1 v2 [add=off]
MGL command: zrange v1 v2 [add=off]
MGL command: crange v1 v2 [add=off]
Method on mglGraph: void SetRange (char dir, mreal v1, mreal v2)
Method on mglGraph: void AddRange (char dir, mreal v1, mreal v2)
C function: void mgl_set_range_val (HMGL gr, char dir, mreal v1, mreal v2)
C function: void mgl_add_range_val (HMGL gr, char dir, mreal v1, mreal v2)

Sets or adds the range for ‘x’-,‘y’-,‘z’- coordinate or coloring (‘c’). If one of values is NAN then it is ignored. See also ranges.

MGL command: xrange dat [add=off]
MGL command: yrange dat [add=off]
MGL command: zrange dat [add=off]
MGL command: crange dat [add=off]
Method on mglGraph: void SetRange (char dir, const mglDataA &dat, bool add=false)
C function: void mgl_set_range_dat (HMGL gr, char dir, const HCDT a, int add)

Sets the range for ‘x’-,‘y’-,‘z’- coordinate or coloring (‘c’) as minimal and maximal values of data dat. Parameter add=on shows that the new range will be joined to existed one (not replace it).

MGL command: ranges x1 x2 y1 y2 [z1=0 z2=0]
Method on mglGraph: void SetRanges (mglPoint p1, mglPoint p2)
Method on mglGraph: void SetRanges (double x1, double x2, double y1, double y2, double z1=0, double z2=0)
C function: void mgl_set_ranges (HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2)

Sets the ranges of coordinates. If minimal and maximal values of the coordinate are the same then they are ignored. Also it sets the range for coloring (analogous to crange z1 z2). This is default color range for 2d plots. Initial ranges are [-1, 1].

MGL command: ranges xx yy [zz cc=zz]
Method on mglGraph: void SetRanges (const mglDataA &xx, const mglDataA &yy)
Method on mglGraph: void SetRanges (const mglDataA &xx, const mglDataA &yy, const mglDataA &zz)
Method on mglGraph: void SetRanges (const mglDataA &xx, const mglDataA &yy, const mglDataA &zz, const mglDataA &cc)

Sets the ranges of ‘x’-,‘y’-,‘z’-,‘c’-coordinates and coloring as minimal and maximal values of data xx, yy, zz, cc correspondingly.

Method on mglGraph: void SetAutoRanges (mglPoint p1, mglPoint p2)
Method on mglGraph: void SetAutoRanges (double x1, double x2, double y1, double y2, double z1=0, double z2=0, double c1=0, double c2=0)
C function: void mgl_set_auto_ranges (HMGL gr, double x1, double x2, double y1, double y2, double z1, double z2, double z1, double z2)

Sets the ranges for automatic coordinates. If minimal and maximal values of the coordinate are the same then they are ignored.

MGL command: origin x0 y0 [z0=nan]
Method on mglGraph: void SetOrigin (mglPoint p0)
Method on mglGraph: void SetOrigin (mreal x0, mreal y0, mreal z0=NAN)
C function: void mgl_set_origin (HMGL gr, mreal x0, mreal y0, mreal z0)

Sets center of axis cross section. If one of values is NAN then MathGL try to select optimal axis position.

MGL command: zoomaxis x1 x2
MGL command: zoomaxis x1 y1 x2 y2
MGL command: zoomaxis x1 y1 z1 x2 y2 z2
MGL command: zoomaxis x1 y1 z1 c1 x2 y2 z2 c2
Method on mglGraph: void ZoomAxis (mglPoint p1, mglPoint p2)
C function: void mgl_zoom_axis (HMGL gr, mreal x1, mreal y1, mreal z1, mreal c1, mreal x2, mreal y2, mreal z2, mreal c2)

Additionally extend axis range for any settings made by SetRange or SetRanges functions according the formula min += (max-min)*p1 and max += (max-min)*p1 (or min *= (max/min)^p1 and max *= (max/min)^p1 for log-axis range when inf>max/min>100 or 0<max/min<0.01). Initial ranges are [0, 1]. Attention! this settings can not be overwritten by any other functions, including DefaultPlotParam().

MGL command: fastcut val
Method on mglGraph: void SetFastCut (bool val=true)

Enable/disable accurate but slower primitive cutting at axis borders. In C/Fortran you can use mgl_set_flag(gr,val, MGL_FAST_PRIM);. It automatically set on for ternary axis now.