Visualization objects contain data that is designed to produce a visualization. These graphic objects are the basic drawable elements of the IDL Object Graphics system, and are containers for other objects. Visualization objects are added to a model object, which controls the spatial positioning of all the objects it contains. Visualization objects combined in a model object (using the model object’s Add method) share the same transformation matrix and can be rotated, scaled, or translated together.

Within the category of visualization objects, there is a sub-category of attribute objects. Attribute objects define the appearance of a visualization object, but themselves are not drawn, and thus do not need to be added to a model object. For example, an IDLgrFont object is associated with an IDLgrText object through the FONT property of the text object and defines the type characteristics of the text. Attribute objects are instances of one of the following classes: IDLgrFont, IDLgrPalette, IDLgrPattern, or IDLgrSymbol.

The following table introduces objects that are commonly seen in different types of object graphics displays. Your display need not contain these specific combinations.

Display Type



Objects of the IDLgrPlot class are individual plot lines, created from a user-supplied vector of dependent data values (and, optionally, a vector of independent data values). Plots do not automatically include axes. A plot display may include the following objects:

Axis: IDLgrAxis objects show data ranges (one object required for each axis to be rendered)

Legend: IDLgrLegend objects annotate individual data items or lines in a visualization.

Colorbar: IDLgrColorbar objects annotate the data values associated with colors used in a visualization.

Symbol: IDLgrSymbol objects define a graphical element that can be used when plotting data.


Objects of the IDLgrContour class are lines representing contour information plotted from user data. Contour displays, like plot displays, may also include legend, colorbar, or symbol objects. You can also use the following:

Pattern: IDLgrPattern objects defines which pixels are filled and which are left blank when a graphic object is filled. Patterns can be applied to successive contour levels.


Objects of the IDLgrImage class are two-dimensional arrays of data with an associated mapping of the data values to pixel values. Displays containing image objects my also include:

Palette: IDLgrPalette objects define a color lookup table that maps indices to red, green, and blue values.

ROI: IDLgrROI objects are representations of a region of interest. Regions of interest are described as a set of vertices that may be connected to generate a path or a polygon, or may be treated as separate points. Objects of the IDLgrROIGroup class are representations of a group of regions of interest.


Objects of the IDLgrSurface class are individual three-dimensional surfaces, created from a user-supplied array of data values.

Light: IDLgrLight objects are light sources that illuminate visualization objects. Light objects are not actually rendered, but must be contained in a model object so that they can be positioned and transformed along with the graphic objects they illuminate. If no light object is included in a particular view, default lighting is supplied.


Objects of the IDLgrVolume class map a three-dimensional array of data values to a three-dimensional array of voxel colors, which, when drawn, are projected to two dimensions. Volume displays, like surface displays, can also include lights.

Polygon and Polyline

Polygons and polylines are low-level graphic objects that can be displayed by themselves or with other objects.

Objects of the IDLgrPolygon class are individual polygons, created from a user-supplied array of data values.

Tessellator: IDLgrTessellator objects convert a simple concave polygon (or a simple polygon with holes) into a number of simple convex polygons (general triangles). Tessellation is useful because IDL’s polygon object accepts only convex polygons.

Objects of the IDLgrPolyline class are individual polylines created from a user-supplied array of data points. Locations of the data points supplied are connected by a single line.


Objects of the IDLgrText class are text strings that can be positioned within the rendering area.

Font: IDLgrFont objects define the typeface, size, weight, and style of a text object with which it is associated.

Text objects are applicable to any of the previous displays.

See Graphic Objects—Visualization for an alphabetical list of visualization objects.

Note: Objects of the TrackBall class provide a simple interface to allow the user to translate and rotate three-dimensional Object Graphics hierarchies displayed in an IDL WIDGET_DRAW window using the mouse. The trackball object translates widget events from a draw widget (created with the WIDGET_DRAW function) into transformations that emulate a virtual trackball (for transforming object graphics in three dimensions). See TrackBall for further details.