IDLgrPlot objects have the following properties in addition to properties inherited from any superclasses. Properties with the word “Yes” in the “Get” column of the property table can be retrieved via IDLgrPlot::GetProperty. Properties with the word “Yes” in the “Init” column of the property table can be set via IDLgrPlot::Init. Properties with the word “Yes” in the “Set” column in the property table can be set via IDLgrPlot::SetProperty.

Note: For a discussion of the property description tables shown below, see Modifying Object Property Descriptions.

Objects of this class have the following properties. See IDLgrPlot Properties for details on individual properties.

ALL

ALPHA_CHANNEL

ANTIALIAS

 

CLIP_PLANES

COLOR

DATA

DATAX

DATAY

DEPTH_TEST_DISABLE

DEPTH_TEST_FUNCTION

DEPTH_WRITE_DISABLE

DOUBLE

HIDE

HISTOGRAM

LINESTYLE

MAX_VALUE

MIN_VALUE

NSUM

PALETTE

PARENT

POLAR

REGISTER_PROPERTIES

RESET_DATA

SHADER

SHARE_DATA

SYMBOL

THICK

USE_ZVALUE

VERT_COLORS

XCOORD_CONV

XRANGE

YCOORD_CONV

YRANGE

ZCOORD_CONV

ZRANGE

ZVALUE

 

In addition, objects of this class inherit:

ALL

An anonymous structure containing the values of all of the properties associated with the state of this object. State information about the object includes things like color, range, tick direction, etc., but not image, vertex, or connectivity data, or user values.

Note: The fields of this structure may change in subsequent releases of IDL.

Property Type

Structure

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

ALPHA_CHANNEL

A floating-point value in the range [0.0, 1.0] to specify the opacity of the plot. The default value of 1.0 causes IDL to draw the plot completely opaque. If the value of this property is less than 1.0, then the pixels of the plot are blended with the pixels already on the screen, where the color of the plot is multiplied by the alpha value and the pixels already on the screen are multiplied by 1.0-alpha. Because an object can only be blended with objects already drawn on the screen, the drawing order of the objects must be considered carefully in order to obtain the desired results.

This property has no effect on devices using indexed color mode. If 3-channel (RGB) VERT_COLORS are supplied, then the value of this property is used for the alpha at each vertex when drawing the plot line. If 4-channel (RGBA) VERT_COLORS are supplied, then the alpha from each vertex color is used for the alpha at each vertex when drawing the plot line.

When a plot is drawn with symbols, the symbol’s color and alpha values are always used to draw the symbols unless VERT_COLORS are supplied. If the VERT_COLORS are RGB, then the alpha value of the symbol is used to draw the symbol. If the VERT_COLORS are RGBA, then the alpha from the vertex color is used to draw the symbol.

Property Type

Float-point value

Name String

Transparency

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

ANTIALIAS

A Boolean value that indicates whether anti-aliasing should be used when drawing the plot line. The default is 0, which disables anti-aliasing.

Property Type

BOOLEAN

Name String

Anti-aliasing

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

CLIP_PLANES

A 4-by-N floating-point array that specifies the coefficients of the clipping planes to be applied to this object. The four coefficients for each clipping plane are of the form [A, B, C, D], where Ax + By + Cz + D = 0. Portions of this object that fall in the half space Ax + By + Cz + D > 0 will be clipped. By default, the value of this property is a scalar (-1) indicating that no clipping planes are to be applied.

Note: The clipping planes specified via this property are applied in addition to the near and far clipping planes associated with the IDLgrView in which this object appears.

Note: Clipping planes are applied in the data space of this object (prior to the application of any x, y, or z coordinate conversion).

Note: To determine the maximum number of clipping planes supported by the device, use the MAX_NUM_CLIP_PLANES keyword of the GetDeviceInfo method for the IDLgrBuffer, IDLgrClipboard, IDLgrWindow, and IDLgrVRML objects.

Property Type

Floating-point array

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

COLOR

The color to be used as the foreground color for this plot. The color may be specified as a color lookup table index or as a three-element vector [red, green, blue]. The default is [0, 0, 0].

In a property sheet, this property appears as a color property.

Property Type

COLOR

Name String

Color

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

DATA

The plot data of any type in a 3 x n array, [DataX, DataY, DataZ].

Property Type

Array of any type

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

DATAX

A vector of any type that specifies the X values to be plotted.

Specifying this property is the same as specifying the optional X argument to the IDLgrPlot::Init method

Property Type

Vector of any type

Name String

not displayed

Get: No

Set: Yes

Init: Yes

Registered: No

DATAY

A vector of any type that specifies the Y values to be plotted.

Specifying this property is the same as specifying the optional X argument to the IDLgrPlot::Init method.

Property Type

Vector of any type

Name String

not displayed

Get: No

Set: Yes

Init: Yes

Registered: No

DEPTH_TEST_DISABLE

An integer value that determines whether depth testing is disabled.

  • Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always enables depth testing. A model may also enable or disable depth testing.
  • Set this property to 1 to explicitly disable depth buffer testing while drawing this object.
  • Set this property to 2 to explicitly enable depth testing for this object.

Disabling depth testing allows an object to draw itself “on top” of other objects already on the screen, even if the object is located behind them.

Note: Disabling depth testing also disables depth buffer writing. When disabling depth testing, the DEPTH_TEST_FUNCTION and DEPTH_WRITE_DISABLE properties are effectively ignored.

This property is registered as an enumerated list, but it is hidden by default.

Property Type

ENUMLIST

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

DEPTH_TEST_FUNCTION

An integer value that determines the depth test function. Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always sets a depth test function of LESS. A model may also set a depth test function value. The graphics device compares the object’s depth at a particular pixel location with the depth stored in the depth buffer at that same pixel location. If the comparison test passes, the object’s pixel is drawn at that location on the screen and the depth buffer is updated (if depth writing is enabled).

Set this property to any of the following values to use the desired function while rendering this object.

  • 0 = INHERIT - use value from parent model or view.
  • 1 = NEVER - never passes.
  • 2 = LESS - passes if the object’s depth is less than the depth buffer’s value.
  • 3 = EQUAL - passes if the object’s depth is equal to the depth buffer’s value.
  • 4 = LESS OR EQUAL - passes if the object’s depth is less than or equal to the depth buffer’s value.
  • 5 = GREATER - passes if the object’s depth is greater than or equal to the depth buffer’s value.
  • 6 = NOT EQUAL - passes if the object’s depth is not equal to the depth buffer’s value.
  • 7 = GREATER OR EQUAL - passes if the object’s depth is greater than or equal to the depth buffer’s value.
  • 8 = ALWAYS - always passes

Less means closer to the viewer.

This property is registered as an enumerated list, but it is hidden by default.

Property Type

ENUMLIST

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

DEPTH_WRITE_DISABLE

An integer value that determines whether depth writing is disabled.

  • Set this property to 0 (the default) to inherit the value set by the parent model or view. The parent view always enables depth writing. A model may also enable or disable depth writing.
  • Set this property to 1 to explicitly disable depth buffer writing while rendering this object.
  • Set this property to 2 to explicitly enable depth writing for this object.

Disabling depth writing allows an object to be overdrawn by other objects, even if the object is located in front of them.

Note: If depth testing (see DEPTH_TEST_DISABLE property) is disabled, depth writing is also automatically disabled.

This property is registered as an enumerated list, but it is hidden by default.

Property Type

ENUMLIST

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

DOUBLE

A Boolean value that indicates whether data provided by any of the input arguments will be stored in this object as using double-precision floating-point format.

  • Set this property equal to 1 to convert input data to double-precision floating-point format.
  • Set this property equal to 0 to convert input data to single-precision floating-point format.
  • If you do not specify a value for this property, no data type conversion will be performed, and the data will be stored with its original precision.

Setting this property may be desirable if the data consists of large integers that cannot be accurately represented in single-precision floating-point arithmetic. This property is also automatically set to 1 if any of the input arguments are stored using a variable of type DOUBLE.

Property Type

Boolean

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

HIDE

A Boolean value or enumerated list item that indicates whether this object should be drawn:

Value

Property Sheet Value

Description

0

True

Draw graphic (the default)

1

False

Do not draw graphic

Property Type

ENUMLIST

Name String

Show

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

HISTOGRAM

An integer value that determines whether to use horizontal and vertical lines to connect the plotted points.

  • 0 = Line plot: The points are connected using straight lines (the default).
  • 1 = Stairstep plot: The points are connected using horizontal and vertical lines. The horizontal lines are centered around each X location. At the edges of the plot, the horizontal lines are clipped to the data extent. Thus, for evenly-spaced X values, the first and last points will appear to be half the width of the other points.
  • 2 = Extended stairstep plot: This is the same as HISTOGRAM=1, except at the edges of the plot, the horizontal lines extend past the X range. Thus, for evenly-spaced X values, all points will have the same width.
  • 3 = Histogram plot: The points are connected using horizontal and vertical lines. The horizontal lines start at each X location and extend to the next X location.

Tip: Use HISTOGRAM=1 or 2 for histogram plots of "discrete" data where each bin represents the number of items that have a certain integer value. Use HISTOGRAM=3 for histogram plots of "continuous" data where each bin represents the number of items that fall within a certain range of X values.

Property Type

ENUMLIST

Name String

Histogram plot

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

LINESTYLE

An integer value that indicates the line style to be used to draw the plot lines. The value can be either an integer value specifying a pre-defined line style, or a two-element vector specifying a stippling pattern.

To use a pre-defined line style, set this property equal to one of the following integer values:

0

Solid line (the default)

1

Dotted

2

Dashed

3

Dash dot

4

Dash dot dot dot

5

Long dash

6

No line drawn

To define your own stippling pattern, specify a two-element vector [repeat, bitmask], where repeat indicates the number of times consecutive runs of 1’s or 0’s in the bitmask should be repeated. (That is, if three consecutive 0’s appear in the bitmask and the value of repeat is 2, then the line that is drawn will have six consecutive bits turned off.) The value of repeat must be in the range 1 ≤ repeat ≤ 255.

The bitmask indicates which pixels are drawn and which are not along the length of the line. Bitmask is most conveniently specified as a 16-bit hexadecimal value.

For example, LINESTYLE = [2, 'F0F0'X] describes a dashed line (8 bits on, 8 bits off, 8 bits on, 8 bits off).

In a property sheet, this property appears as follows:

Property Type

Linestyle

Name String

Line style

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

MAX_VALUE

A double-precision floating-point value that determines the maximum value to be plotted. When this property is set, data values greater than the value of MAX_VALUE are treated as missing data and are not plotted. Note that the IEEE floating-point value NaN is also treated as missing data. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

FLOAT

Name String

Maximum value

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

MIN_VALUE

A double-precision floating-point value that determines the minimum value to be plotted. If this property is present, data values less than the value of MIN_VALUE are treated as missing data and are not plotted. Note that the IEEE floating-point value NaN is also treated as missing data. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

FLOAT

Name String

Minimum value

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

NSUM

An integer value representing the number of data points to average when plotting. If NSUM is larger than 1, every group of NSUM points is averaged to produce one plotted point. If there are M data points, then M/NSUM points are plotted.

Property Type

Integer

Name String

Points to average

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

PALETTE

An object reference to a palette object (an instance of the IDLgrPalette object class). This property is only used if the destination device is using the RGB color model. If so, and a color value for the object is specified as a color index value, the palette set by this property is used to translate the color to RGB space. If the PALETTE property on this object is not set, the destination object PALETTE property is used (which defaults to a grayscale ramp).

Note: Objects specified via this property are not automatically cleaned up when the IDLgrPlot object is destroyed.

This property is registered as a user-defined property, but it is hidden by default.

Property Type

USERDEF

Name String

Color palette

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

PARENT

An object reference to the object that contains this object.

Property Type

Object reference

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

POLAR

A Boolean value that determines whether to create a polar plot. The X and Y arguments must both be present. The X argument represents the radius, and the Y argument represents the angle expressed in radians.

Property Type

Boolean

Name String

Polar plot

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

REGISTER_PROPERTIES

A Boolean value that determines whether to register properties available for this object. If this property is set, all properties marked in this properties section as “Registered: Yes” will be registered for display in a property sheet. This property is useful mainly when creating iTools. By default, no properties are registered.

Property Type

Boolean

Name String

not displayed

Get: No

Set: No

Init: Yes

Registered: No

RESET_DATA

A Boolean value that determines whether to treat the data provided via one of the DATA[XY] properties as a new data set unique to this object, rather than overwriting data that is shared by other objects. There is no reason to use this property if the object on which the property is being set does not currently share data with another object (that is, if the SHARE_DATA property is not in use). This property has no effect if no new data is provided via a DATA property.

Property Type

Boolean

Name String

not displayed

Get: No

Set: Yes

Init: Yes

Registered: No

SHADER

An object reference to an IDLgrShader object (or an object containing IDLgrShader as a superclass). When there is suitable graphics card hardware support, the plot is rendered using the GLSL shader program (executed on the graphics card) instead of using fixed OpenGL properties when initially drawn. (If a suitable graphics card is not present, IDL ignores the shader object when the scene is drawn.) A single IDLgrShader object may be associated with additional plot objects or other graphic objects that have the SHADER property.

Property Type

Object reference

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

SHARE_DATA

An object reference to an object with which data is to be shared by this plot. A plot may only share data with another plot. The SHARE_DATA property is intended for use when data values are not set via an argument to the object’s Init method or by setting the object’s DATA property.

Note: Objects specified via this property are not automatically cleaned up when the IDLgrPlot object is destroyed.

Property Type

Object reference

Name String

not displayed

Get: No

Set: Yes

Init: Yes

Registered: No

SYMBOL

An object reference vector containing instances of the IDLgrSymbol object class. Each symbol in the vector will be drawn at the corresponding plotted point. If there are more points than elements in SYMBOL, the elements of the SYMBOL vector are cyclically repeated. By default, no symbols are drawn. To remove symbols from a plot, set the SYMBOL property equal to a null object reference.

Note: Objects specified via this property are not automatically cleaned up when the IDLgrPlot object is destroyed.

Property Type

Object reference vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

THICK

A floating-point value between 0.0 and 10.0, specifying the line thickness to be used to draw the plotted lines, in points. A thickness of 0 displays a thin hairline on the chosen device. Out-of-range values are quietly clamped to the allowed range. The default is 1.0 points.

In a property sheet, this property appears as follows:

Property Type

Thickness

Name String

Thickness

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

USE_ZVALUE

A Boolean value that determines whether to use the current ZVALUE. The plot is considered three-dimensional if this property is set.

Property Type

Boolean

Name String

not displayed

Get: No

Set: No

Init: Yes

Registered: No

VERT_COLORS

A vector of colors to be used to specify the color of the plot segment between each vertex. The vector may be of the form [n] where each entry is a color index, or of the form [3,n] where each 3-element row is an RGB color, or of the form [4,n] where each 4-element row is an RGBA color. To remove vertex colors after they have been set, set VERT_COLORS to a scalar.

If VERT_COLORS is not specified, the entire plot is drawn in the single color provided by the COLOR property, which is the default action.

If there are more vertices than elements in VERT_COLORS, the elements of VERT_COLORS are cyclically repeated.

When VERT_COLORS is used with symbols, the vertex colors and vertex alpha override any colors and alpha specified by the symbol object or any colors and alpha specified by graphic atoms contained in a user-defined symbol.

Property Type

USERDEF

Name String

Vertex colors

Get: Yes

Set: Yes

Init: Yes

Registered: Yes

XCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert X coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedX = s0 + s1 * DataX

Recommended values are:

[(-Xmin)/(Xmax-Xmin), 1/(Xmax-Xmin)]

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

XRANGE

A two-element floating-point vector of the form [xmin, xmax] specifying the range of x data coordinates covered by the graphic object. The plot line is clipped to the XRANGE values specified, but data points that lie outside the specified range are not removed. (Set the MAX_VALUE and MIN_VALUE properties if data outside the range should be removed.) If this property is not specified, the minimum and maximum data values are used. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

YCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert Y coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedY = s0 + s1 * DataY

Recommended values are:

[(-Ymin)/(Ymax-Ymin), 1/(Ymax-Ymin)]

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

YRANGE

A two-element floating-point vector of the form [ymin, ymax] specifying the range of y data values covered by the graphic object. The plot line is clipped to the YRANGE values specified, but data points that lie outside the specified range are not removed. (Set the MAX_VALUE and MIN_VALUE properties if data outside the range should be removed.) If this property is not specified, the minimum and maximum data values are used. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

ZCOORD_CONV

A floating-point vector, [s0, s1], of scaling factors used to convert Z coordinates from data units to normalized units. The formula for the conversion is as follows:

NormalizedZ = s0 + s1 * DataZ

The default is [0.0, 1.0]. IDL converts, maintains, and returns this data as double-precision floating-point.

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No

ZRANGE

A two-element floating-point vector of the form [zmin, zmax] specifying the range of z data values covered by the graphic object. The plot line is clipped to the ZRANGE values specified, but data points that lie outside the specified range are not removed. (Set the MAX_VALUE and MIN_VALUE properties if data outside the range should be removed.) IDL maintains and returns this property in double-precision floating-point.

Note: The XRANGE and YRANGE properties can also be retrieved via the GetProperty method; ZRANGE, however, can only be retrieved, not initialized (Init method) or set (SetProperty method).

Property Type

Floating-point vector

Name String

not displayed

Get: Yes

Set: No

Init: No

Registered: No

ZVALUE

A floating-point value to be used as the Z coordinate for the entire plot. By default, 0.0 is used as the Z coordinate.

Note: The USE_ZVALUE property needs to be set in order for ZVALUE to take effect.

Property Type

Floating-point

Name String

not displayed

Get: Yes

Set: Yes

Init: Yes

Registered: No