### AutoAxes

Category

Annotation

Function

Generates an axes box to enclose an object in the Image window.

Syntax

    axes = AutoAxes(input, camera, labels, ticks, corners, frame, adjust,
                    cursor, grid, colors, annotation, labelscale, font,
                    xticklocations, yticklocations, zticklocations,
                    xticklabels, yticklabels, zticklabels);

Inputs

Name | Type | Default | Description
--- | --- | --- | ---
`input` | object | none | object to be enclosed
`camera` | camera | none | viewpoint
`labels` | string list | no labels | labels for axes
`ticks` | integer or integer list | 15 | the approximate number of major tick marks (0 to suppress)
`corners` | vector list or object | input object | bounds of axes
`frame` | flag | 0 | 0: only the frame of back faces drawn 1: entire frame drawn
`adjust` | flag | 1 | 0: end points not adjusted 1: end points adjusted to match tick marks
`cursor` | vector | no cursor | cursor position
`grid` | flag | 0 | 0: grid lines not drawn 1: grid lines drawn
`colors` | vector list or string list | appropriate color(s) | color(s) for annotation
`annotation` | string list | "all" | annotation objects to be colored
`labelscale` | scalar | 1.0 | scale factor for labels
`font` | string | standard | font for labels
`xticklocations` | scalar list | appropriate | set of x tick locations
`yticklocations` | scalar list | appropriate | set of y tick locations
`zticklocations` | scalar list | appropriate | set of z tick locations
`xticklabels` | string list | xticklocations | x tick labels
`yticklabels` | string list | yticklocations | y tick labels
`zticklabels` | string list | zticklocations | z tick labels

Outputs

Name | Type | Description
--- | --- | ---
`axes` | color field | the axes box plus the input

Functional Details

If you are using the Image tool in the user interface, you should use the `AutoAxes` option of the `Options` pull-down menu in the Image window, rather than the AutoAxes module.

`input` | is the object around which an axes box is to be generated.
`camera` | is the camera used to render the object (using Display or Render). The viewpoint determines which of the box edges AutoAxes creates and which way the labels face.
`labels` | specifies labels for the x, y, and z axes. If `input` has an "axis labels" attribute, it is used as the default for `labels`. This attribute can be imported with the original data or it can be added using the Options module.
`ticks` | can be an integer list, in which case it represents the approximate number of tick marks to be used on each of the three axes. If you specify `ticks` as a single integer, AutoAxes uses approximately that many tick marks in total for all three axes. Set the integers to their corresponding negative values to have tick marks point outwards.

`corners`

specifies the extent of the axes. If this parameter is not specified, the module automatically sizes the box to enclose the specified input object. If it is specified as a list of two vectors, the module uses the points specified rather than the bounds of `input` to determine the extent of the axes. In that case, `corners` specifies the end points of the diagonal of the axes (e.g., [Xmin, Ymin, Zmin] and [Xmax, Ymax, Zmax]).

Alternatively, you can specify `corners` as an object, and the module uses the bounds of that object to determine the size of the axes. This feature is useful, for example, to enclose varying isosurfaces based on a given data field. You can use the data field as the `corners` parameter to keep the axes box a constant size, even when the isosurface changes in size.

`frame` | specifies the kind of frame to be placed around the object. By default (`frame` = 0), the three back faces of the box (from the viewpoint of `camera`) are opaque, serving as background. If `frame` = 1, the module draws the outlines of the other three faces of the box as well.
`adjust` | adjust the end points of the axes to end exactly at the tick marks. The default is no adjustment.
`cursor` | specifies the position for the placement of a cursor.
`grid` | specifies grid lines drawn from the major tick marks.

`colors`

specifies the color(s) of one or more components of the axes. It can be a single color (RGB vector or name string) or a list of colors. Color names can be any of the defined color-name strings (see Color). Its effects are partly determined by the `annotation` parameter.

If `color` is a single string and `annotation` is unspecified or is "all," then the specified color is used for all axes annotation. Otherwise, the number of colors in `color`s must match the number of `annotation` strings exactly and in a one-to-one correspondence.

`annotation` | combines with `color` to specify the color of one or more components of the axes. This parameter can be a single string or a set of strings from the following list: "all," "background," "grid," "labels," and "ticks." You may remove the background by specifying "background" and setting `color` to "clear."
`labelscale` | determines the size of the axes and tick-mark labels. For example, `labelscale` = 2.0 will display the labels at double their default size.

`font`

specifies the font for axes and tick-mark labels. The default for axes is a variable-width font ("variable"), and for tick-marks a fixed-width font ("fixed").

    area          gothicit_t       pitman                roman_ext
    cyril_d       greek_d          roman_d               script_d
    fixed         greek_s          roman_dser            script_s
    gothiceng_t   italic_d         roman_s               variable
    gothicger_t   italic_t         roman_tser

For more information, see Appendix E. "Data Explorer Fonts" in the IBM Visualization Data Explorer User's Guide.

`xticklocations` | list of explicit locations for tick marks on the x-axis. If specified, overrides the value as determined by the `ticks` parameter.
`yticklocations` | list of explicit locations for tick marks on the y-axis. If specified, overrides the value as determined by the `ticks` parameter.
`xticklocations` | list of explicit locations for tick marks on the z-axis. If specified, overrides the value as determined by the `ticks` parameter.
`xticklabels` | list of labels to be associated with `xticklocations`. If `xticklabels` is specified, and `xticklocations` is not specified, then `xticklocations` defaults to the integers 0 to n-1 where n is the number of items in `xticklabels`.
`yticklabels` | list of labels to be associated with `yticklocations`. If `yticklabels` is specified, and `yticklocations` is not specified, then `yticklocations` defaults to the integers 0 to n-1 where n is the number of items in `yticklabels`.
`zticklabels` | list of labels to be associated with `zticklocations`. If `zticklabels` is specified, and `zticklocations` is not specified, then `zticklocations` defaults to the integers 0 to n-1 where n is the number of items in `zticklabels`.

Notes:

1. If you have applied scaling to your object using the Scale module, AutoAxes disregards that scaling when labeling the axes. This allows you to display data conveniently with an aspect ratio much different from 1, and still have correct labels on the axes. AutoAxes only disregards the top-level transformation and does not disregard the transformations of the Translate or Rotate module. (The macro AutoScaleMacro in `/usr/local/dx/samples/macros` can be used just before Image or AutoAxes to scale the object. See also How to Avoid Stretching or Squashing Glyphs.) Because scaling is disregarded if not done at the top level, you cannot have a Collect module following the Scale module. For example, if you want to Collect a caption with an object, you should use Scale after the Collect of the object with the caption.

2. If you are setting the `corners` parameter as a vector list, and the input `object` is scaled, `corners` should be in units of the scaled object.

3. If `corners` is more restrictive than the given `ticklocations`, then the given locations outside the corners are not shown.

4. If `corners` is less restrictive than the given `ticklocations`, or if `corners` is not specified, then all given tick locations are shown, whether or not there is data there.

5. If `ticklocations` is specified, then the data range determines the extent of the axes, unless `corners` is specified, in which case the given corners are used.

6. You can change the point at which a change is made from fixed-format to scientific notation for tick labels by setting the `DXAXESWIDTH` environment variable (see "Other Environment Variables" in IBM Visualization Data Explorer User's Guide).

Example Visual Programs

    AutoAxesSpecifyTicks  (as part of the Image tool)

    GeneralImport1.net  (as part of the Image tool)
    SIMPLE/AutoAxes.net

See Also

Collect, Color, Options, Plot

[ OpenDX Home at IBM | OpenDX.org ]