NCL Home > Documentation > Graphics > Resources

PlotManager (pm) Resources

pmAnnoManagers
Each element of this read-only array resource contains the id of the AnnoManager object created to control the View annotation identified by the corresponding element of the pmAnnoViews array. Whenever pmAnnoViews is modified, pmAnnoManagers is updated to match.

Default: NULL

pmAnnoViews
This array resource contains the ids of the View objects added as annotations by the user to the plot object. If you set this resource, the contents of the existing array are replaced. However, if you add a single annotation using the NhlAddAnnotation function, the id of the view is appended to the end of the existing array. When a view becomes an annotation, the PlotManager creates an AnnoManager object you can use to control the location and/or the size of the object relative to the base plot's viewport or data coordinate space. Once a view has a controlling AnnoManager, it can no longer be drawn directly. Instead it is drawn automatically whenever you draw the primary base plot of which it is a plot member.

When you remove a single annotation using the NhlRemoveAnnotation function, the remaining View ids retain their order within the array, but are moved to fill in the space that had been occupied by the id of the view removed. The result is an array containing one fewer element. If you destroy a View object currently used as an annotation, the effect on the pmAnnoViews resource is the same as if you had removed it using NhlRemoveAnnotation.

Default: NULL

pmLabelBarDisplayMode
This resource of type NhlTAnnotationDisplayMode determines whether the plot object displays a LabelBar object. It has four settings:
NoCreate
If pmLabelBarDisplayMode has the value NoCreate when the plot object is created, the PlotManager does not create a LabelBar object. The plot object will never be able to display a LabelBar belonging to itself during its lifetime, and attempts to change the value of pmLabelBarDisplayMode later will fail with an error message. However, as a base plot it still would be able display a LabelBar object belonging to an added overlay plot.
Never
If pmLabelBarDisplayMode has the value Never when the plot object is created, the PlotManager does create a LabelBar object, but it is not drawn.
Always
If pmLabelBarDisplayMode has the value Always when the plot object is created, the PlotManager creates a LabelBar object that will be drawn, assuming it meets all conditions of displayability set by the LabelBar object itself.
Conditional
If pmLabelBarDisplayMode has the value Conditional when the plot object is created, the PlotManager creates a LabelBar that may be drawn, assuming it meets all conditions of displayability set by the LabelBar object itself. If the plot object becomes an overlay, the LabelBar will be displayed only if no other LabelBar objects belonging to other plots in the overlay sequence have already been displayed.

This resource may be intercepted or disabled by:

Default: NoCreate (Always for some gsn_csm_xxxx routines that turn on contour or vector fill)

pmLabelBarHeightF
This resource specifies the desired height of the LabelBar object in NDC units. Note that the actual height of the LabelBar may vary somewhat from the desired height, depending on the setting of certain resources belonging to the LabelBar. If not set explicitly, the value of this resource adjusts dynamically in proportion to changes of the viewport height.

Default: 0.6 (for a viewport height of 0.6)

pmLabelBarKeepAspect
While the boolean resource pmLabelBarKeepAspect is True, the PlotManager ensures that the LabelBar object keeps its initial shape (aspect ratio), however you may modify its size resources or the size and/or shape of the base plot.

Default: False

pmLabelBarOrthogonalPosF
pmLabelBarOrthogonalPosF sets the coordinate of the base location of the LabelBar object annotation orthogonal to the current pmLabelBarSide. Unless the value ofpmLabelBarZone is 1, it is directed away from the center of the viewport. The PlotManager Location Control Model requires this resource to allow control of the LabelBar object annotation in a manner consistent with other annotations.

Default: 0.02

pmLabelBarParallelPosF
pmLabelBarParallelPosF specifies the coordinate of the base location of the LabelBar object annotation parallel to the current pmLabelBarSide and directed toward increasing NDC values. The PlotManager Location Control Model requires this resource to allow control of the LabelBar object annotation in a manner consistent with other annotations.

Default: 0.5

pmLabelBarSide
This resource of type NhlTPosition determines where to place the LabelBar object in relation to the sides of the plot object's viewport. The PlotManager Location Control Model requires this resource to allow control of the LabelBar object in a manner consistent with other annotations. Its value determines a coordinate system origin and the direction of the positional resources pmLabelBarParallelPosF and pmLabelBarOrthogonalPosF. It also constrains the value of the LabelBar object resource lbJustification appropriately. There are four settings that behave as follows, unless pmLabelBarZone is set to one of the special zones (0 or 1):
Top
The PlotManager locates the LabelBar annotation relative to a line paralleling the top viewport boundary. pmLabelBarOrthogonalPosF increases in the direction of increasing NDC Y-Axis values and is constrained to positive values. pmLabelBarParallelPosF increases in the direction of increasing NDC X-Axis values. lbJustification is constrained to BottomRight, BottomCenter, or BottomLeft.
Bottom
The PlotManager locates the LabelBar annotation relative to a line paralleling the bottom viewport boundary. pmLabelBarOrthogonalPosF increases in the direction of decreasing NDC Y-Axis values and is constrained to positive values. pmLabelBarParallelPosF increases in the direction of increasing NDC X-Axis values. lbJustification is constrained to NhlTOPRIGHT, NhlTOPCENTER, or NhlTOPLEFT.
Right
The PlotManager locates the LabelBar annotation relative to a line paralleling the right viewport boundary. pmLabelBarOrthogonalPosF increases in the direction of increasing NDC X-Axis values and is constrained to positive values. pmLabelBarParallelPosF increases in the direction of increasing NDC Y-Axis values. lbJustification is constrained to TopLeft, CenterLeft, or BottomLeft.
Left
The PlotManager locates the LabelBar annotation relative to a line paralleling the left viewport boundary. pmLabelBarOrthogonalPosF increases in the direction of decreasing NDC X-Axis values and is constrained to positive values. pmLabelBarParallelPosF increases in the direction of increasing NDC Y-Axis values. lbJustification is constrained to TopRight, CenterRight, or BottomRight.
If pmLabelBarZone is set to 0, the PlotManager locates the LabelBar relative to the viewport center. If pmLabelBarZone is 1, the direction of the pmLabelBarOrthogonalPosF is opposite to the specification given above. Also if the pmLabelBarZone is either 0 or 1, lbJustification is not constrained, and pmLabelBarOrthogonalPosF may take on negative values.

Default: Bottom

pmLabelBarWidthF
This resource specifies the desired width of the LabelBar object in NDC units. Note that the actual width of the LabelBar may vary somewhat from the desired width, depending on the setting of certain resources belonging to the LabelBar. If not set explicitly, the value of this resource adjusts dynamically in proportion to changes of the viewport width.

Default: 0.15 (for a viewport width of 0.6)

pmLabelBarZone
This resource specifies the annotation zone used to determine the location of the LabelBar object. The PlotManager manages the location of LabelBar object according to the rules of the PlotManager Location Control Model.

Default: 6

pmLegendDisplayMode
This resource of type NhlTAnnotationDisplayMode determines whether the plot object displays a Legend object. It has four settings:
NoCreate
If pmLegendDisplayMode has the value NoCreate when the plot object is created, the PlotManager does not create a Legend object. The plot object will never be able to display a Legend belonging to itself during its lifetime, and attempts to change the value of pmLegendDisplayMode later will fail with an error message. However, as a base plot it still would be able display a Legend object belonging to an added overlay plot.
Never
If pmLegendDisplayMode has the value Never when the plot object is created, the PlotManager does create a Legend object, but it is not drawn.
Always
If pmLegendDisplayMode has the value Always when the plot object is created, the PlotManager creates a Legend object that will be drawn, assuming it meets all conditions of displayability set by the Legend object itself.
Conditional
If pmLegendDisplayMode has the value Conditional when the plot object is created, the PlotManager creates a Legend that may be drawn, assuming it meets all conditions of displayability set by the Legend object itself. If the plot object becomes an overlay, the Legend will be displayed only if no other Legend objects belonging to other plots in the overlay sequence have already been displayed.

This resource may be intercepted or disabled by:

Default: NoCreate

pmLegendHeightF
This resource specifies the desired height of the Legend object in NDC units. Note that the actual height of the Legend may vary somewhat from the desired height, depending on the setting of certain resources belonging to the Legend. If not set explicitly, the value of this resource adjusts dynamically in proportion to changes of the viewport height.

Default: 0.18 (for a viewport height of 0.6)

pmLegendKeepAspect
While the boolean resource pmLegendKeepAspect is True, the PlotManager ensures that the Legend object keeps its initial shape (aspect ratio), however you may modify its size resources or the size and/or shape of the base plot.

Default: False

pmLegendOrthogonalPosF
pmLegendOrthogonalPosF sets the coordinate of the base location of the Legend object annotation orthogonal to the current pmLegendSide. Unless the value ofpmLegendZone is 1, it is directed away from the center of the viewport. The PlotManager Location Control Model requires this resource to allow control of the Legend object annotation in a manner consistent with other annotations.

Default: 0.02

pmLegendParallelPosF
pmLegendParallelPosF specifies the coordinate of the base location of the Legend object annotation parallel to the current pmLegendSide and directed toward increasing NDC values. The PlotManager Location Control Model requires this resource to allow control of the Legend object annotation in a manner consistent with other annotations.

Default: 0.5

pmLegendSide
This resource of type NhlTPosition determines where to place the Legend object in relation to the sides of the plot object's viewport. The PlotManager Location Control Model requires this resource to allow control of the Legend object in a manner consistent with other annotations. Its value determines a coordinate system origin and the direction of the positional resources, pmLegendParallelPosF and pmLegendOrthogonalPosF. It also constrains the value of the Legend object resource lgJustification appropriately. There are four settings that behave as follows, unless pmLegendZone is set to one of the special zones (0 or 1):
Top
The PlotManager locates the Legend annotation relative to a line paralleling the top viewport boundary. pmLegendOrthogonalPosF increases in the direction of increasing NDC Y-Axis values and is constrained to positive values. pmLegendParallelPosF increases in the direction of increasing NDC X-Axis values. lgJustification is constrained to BottomRight, BottomCenter, or BottomLeft.
Bottom
The PlotManager locates the Legend annotation relative to a line paralleling the bottom viewport boundary. pmLegendOrthogonalPosF increases in the direction of decreasing NDC Y-Axis values and is constrained to positive values. pmLegendParallelPosF increases in the direction of increasing NDC X-Axis values. lgJustification is constrained to TopRight, TopCenter, or TopLeft.
Right
The PlotManager locates the Legend annotation relative to a line paralleling the right viewport boundary. pmLegendOrthogonalPosF increases in the direction of increasing NDC X-Axis values and is constrained to positive values. pmLegendParallelPosF increases in the direction of increasing NDC Y-Axis values. lgJustification is constrained to TopLeft, CenterLeft, or BottomLeft.
Left
The PlotManager locates the Legend annotation relative to a line paralleling the left viewport boundary. pmLegendOrthogonalPosF increases in the direction of decreasing NDC X-Axis values and is constrained to positive values. pmLegendParallelPosF increases in the direction of increasing NDC Y-Axis values. lgJustification is constrained to TopRight, CenterRight, or BottomRight.
If pmLegendZone is set to 0, The PlotManager locates the Legend relative to the viewport center. If pmLegendZone is 1, the direction of the pmLegendOrthogonalPosF is opposite to the specification given above. Also if the pmLegendZone is either 0 or 1, lgJustification is not constrained, and pmLegendOrthogonalPosF may take on negative values.

Default: Bottom

pmLegendWidthF
This resource specifies the desired width of the Legend object in NDC units. Note that the actual width of the Legend may vary somewhat from the desired width, depending on the setting of certain resources belonging to the Legend. If not set explicitly, the value of this resource adjusts dynamically in proportion to changes of the viewport width.

Default: 0.55 (for a viewport width of 0.6)

pmLegendZone
This resource specifies the annotation zone used to determine the location of the Legend object. The PlotManager manages the location of Legend object according to the rules of the PlotManager Location Control Model.

Default: 7

pmOverlaySequenceIds
This read-only resource can be used to get an array of object ids comprised of the transforms in the overlay sequence. The elements of the array will be ordered according to the overlay sequence, starting with the base plot.

Default: NULL

pmTickMarkDisplayMode
This resource of type NhlTAnnotationDisplayMode determines whether the plot object displays a TickMark object. It has four settings:
NoCreate
If pmTickMarkDisplayMode has the value NoCreate when the plot object is created, the PlotManager does not create a TickMark object. The plot object will never be able to display a TickMark belonging to itself during its lifetime, and attempts to change the value of pmTickMarkDisplayMode later will fail with an error message. However, as a base plot it still would be able display a TickMark object belonging to an added overlay plot.
Never
If pmTickMarkDisplayMode has the value Never when the plot object is created, the PlotManager does create a TickMark object, but it is not drawn.
Always
If pmTickMarkDisplayMode has the value Always when the plot object is created, the PlotManager creates a TickMark object that will be drawn, assuming it meets all conditions of displayability set by the TickMark object itself.
Conditional
If pmTickMarkDisplayMode has the value Conditional when the plot object is created, the PlotManager creates a TickMark that may be drawn, assuming it meets all conditions of displayability set by the TickMark object itself. If the plot object becomes an overlay, the TickMark will be displayed only if no other TickMark objects belonging to other plots in the overlay sequence have already been displayed.

This resource may be intercepted or disabled by:

Default: NoCreate

pmTickMarkZone
This resource specifies the annotation zone used to determine the location of the TickMark object. Since the TickMark object is by its nature confined to a bounding box very near the PlotManager plot viewport, its zone must be set to 2 or less. Attempts to set the value of pmTickMarkZone to a value greater than 2 result in an error message; the resource will be reset to the default value. Note that the PlotManager object's treatment of the TickMark object does not completely follow the rules of the PlotManager Location Control Model.

Default: 2

pmTitleDisplayMode
This resource of type NhlTAnnotationDisplayMode determines whether the plot object displays a Title object. It has four settings:
NoCreate
If pmTitleDisplayMode has the value NoCreate when the plot object is created, the PlotManager does not create a Title object. The plot object will never be able to display a Title belonging to itself during its lifetime, and attempts to change the value of pmTitleDisplayMode later will fail with an error message. However, as a base plot it still would be able display a Title object belonging to an added overlay plot.
Never
If pmTitleDisplayMode has the value Never when the plot object is created, the PlotManager does create a Title object, but it is not drawn.
Always
If pmTitleDisplayMode has the value Always when the plot object is created, the PlotManager creates a Title object that will be drawn, assuming it meets all conditions of displayability set by the Title object itself.
Conditional
If pmTitleDisplayMode has the value Conditional when the plot object is created, the PlotManager creates a Title that may be drawn, assuming it meets all conditions of displayability set by the Title object itself. If the plot object becomes an overlay, the Title will be displayed only if no other Title objects belonging to other transforms in the overlay sequence have already been displayed.

This resource may be intercepted or disabled by:

Default: NoCreate

pmTitleZone
This resource specifies the annotation zone used to determine the location of the Title object. Note that the PlotManager object's treatment of the Title object does not completely follow the rules of the PlotManager Location Control Model.

Default: 4