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.
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
|