NCL Website header
NCL Home > Documentation > HLUs > Classes

TickMark class

The TickMark object draws tick marks along any of the sides of a plot.

Synopsis

Header file:		ncarg/hlu/TickMark.h
Class name:		tickMarkClass
Class pointer:		NhltickMarkClass
Fortran class function:	NHLFTICKMARKCLASS
Superclass:		View
Composite classes:	<None>

Class-defined types

Type name:		NhlTTickMarkMode
Definition:
typedef enum {
	NhlAUTOMATIC	= 0,	/* "Automatic"	*/
	NhlMANUAL	= 1,	/* "Manual"	*/
	NhlEXPLICIT	= 2	/* "Explicit"	*/
} NhlTickMarkMode;

Type name:		NhlTTickMarkStyle
Definition:
typedef enum {
	NhlLOG		= 0,	/* "Log"	*/
	NhlLINEAR	= 1,	/* "Linear"	*/
	NhlIRREGULAR	= 2,	/* "Irregular"	*/
	NhlGEOGRAPHIC	= 3,	/* "Geographic"	*/
	NhlTIME		= 4	/* "Time"	*/
} NhlTickMarkStyle;

Resources

Local resources

TickMark resources are logically arranged into six groups:

 General      - Resources of a non-specific nature
 Borders      - Resources for drawing the grid boundary
 Grid lines   - Resources to control major and minor grid lines
 Axis scaling - Resources to set the scaling of the four axes
 Scale labels - Labels at major tick marks
 Appearance   - Resources that affect tick mark appearance
|===============================================================|
|			TickMark Resource Set			|
|===============================================================|
| General Resources                                             |
|                                                               |
| Resources of a non-specific nature.                           |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| tmSciNoteCutoff		NhlTInteger		RCSG	|
|       TmSciNoteCutoff                 6                       |
|---------------------------------------------------------------|
| tmXUseBottom			NhlTBoolean		RCSG	|
|       TmXUseBottom                    True                    |
|---------------------------------------------------------------|
| tmYUseLeft			NhlTBoolean		RCSG	|
|       TmYUseLeft                      True                    |
|---------------------------------------------------------------|
| tmEqualizeXYSizes		NhlTBoolean		RCSG	|
|       TmEqualizeXYSizes               False                   |
|===============================================================|
| Border Resources                                              |
|                                                               |
| These resources control the drawing of the grid boundary.     |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| tmXBBorderOn			NhlTBoolean		RCSG	|
|       EdgesOn                         True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTBorderOn			NhlTBoolean		RCSG	|
|       EdgesOn                         True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLBorderOn			NhlTBoolean		RCSG	|
|       EdgesOn                         True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRBorderOn			NhlTBoolean		RCSG	|
|       EdgesOn                         True                    |
|---------------------------------------------------------------|
| tmBorderThicknessF		NhlTFloat		RCSG	|
|       EdgeThicknessF                  2.0                     |
|---------------------------------------------------------------|
| tmBorderLineColor		NhlTColorIndex		RCSG	|
|	EdgeColor    			"Foreground"		|
|===============================================================|
| Grid Line Resources                                           |
|                                                               |
| The following resources relate to the major and minor grid    |
| lines which run top to bottom or left to right across the     |
| graph.                                                        |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| Major grid lines                                              |
|---------------------------------------------------------------|
| tmXMajorGrid			NhlTBoolean		RCSG	|
|       TmXMajorGrid                    False                   |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMajorGrid			NhlTBoolean		RCSG	|
|       TmXMajorGrid                    False                   |
|---------------------------------------------------------------|
| tmXMajorGridThicknessF	NhlTFloat		RCSG	|
|       TmMajorGridThicknessesF         2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMajorGridThicknessF	NhlTFloat		RCSG	|
|       TmMajorGridThicknessesF         2.0                     |
|---------------------------------------------------------------|
| tmXMajorGridLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMajorGridLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|---------------------------------------------------------------|
| tmXMajorGridLineDashPattern	NhlTDashIndex		RCSG	|
|	TmMajorGridLineDashPatterns	"SolidLine"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMajorGridLineDashPattern	NhlTDashIndex		RCSG	|
|	TmMajorGridLineDashPatterns	"SolidLine"		|
|---------------------------------------------------------------|
| Minor grid lines                                              |
|---------------------------------------------------------------|
| tmXMinorGrid			NhlTBoolean		RCSG	|
|       TmXMinorGrid                    False                   |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMinorGrid			NhlTBoolean		RCSG	|
|       TmXMinorGrid                    False                   |
|---------------------------------------------------------------|
| tmXMinorGridThicknessF	NhlTFloat		RCSG	|
|       TmMinorGridThicknessesF         1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMinorGridThicknessF	NhlTFloat		RCSG	|
|       TmMinorGridThicknessesF         1.0                     |
|---------------------------------------------------------------|
| tmXMinorGridLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMinorGridLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|---------------------------------------------------------------|
| tmXMinorGridLineDashPattern	NhlTDashIndex		RCSG	|
|	TmMinorGridLineDashPatterns	"SolidLine"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYMinorGridLineDashPattern	NhlTDashIndex		RCSG	|
|	TmMinorGridLineDashPatterns	"SolidLine"		|
|===============================================================|
| Axis Scaling Resources                                        |
|                                                               |
| The following resources relate to the four scalable axes:     |
| X axes (top and bottom) and Y axes (left and right).          |
|                                                               |
| Note that tmXUseBottom can be used to cause the top axis to   |
| conform to the bottom axis scaling, and tmYUseLeft can be used|
| to cause the right axis to conform to the left axis scaling.  |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| tmXBOn			NhlTBoolean		RCSG	|
|       TmXBOn                          True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTOn			NhlTBoolean		RCSG	|
|       TmXTOn                          True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLOn			NhlTBoolean		RCSG	|
|       TmYLOn                          True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYROn			NhlTBoolean		RCSG	|
|       TmYROn                          True                    |
|---------------------------------------------------------------|
| tmXBMode			NhlTTickMarkMode	RCSG	|
|	TmXBMode			"Automatic"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMode			NhlTTickMarkMode	RCSG	|
|	TmXTMode			"Automatic"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMode			NhlTTickMarkMode	RCSG	|
|	TmYLMode			"Automatic"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMode			NhlTTickMarkMode	RCSG	|
|	TmYRMode			"Automatic"		|
|---------------------------------------------------------------|
| tmXBAutoPrecision		NhlTBoolean		RCSG	|
|       TmAutoPrecision                 True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTAutoPrecision		NhlTBoolean		RCSG	|
|       TmAutoPrecision                 True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLAutoPrecision		NhlTBoolean		RCSG	|
|       TmAutoPrecision                 True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRAutoPrecision		NhlTBoolean		RCSG	|
|       TmAutoPrecision                 True                    |
|---------------------------------------------------------------|
| tmXBPrecision			NhlTInteger		RCSG	|
|       TmPrecisions                    4                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTPrecision			NhlTInteger		RCSG	|
|       TmPrecisions                    4                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLPrecision			NhlTInteger		RCSG	|
|       TmPrecisions                    4                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRPrecision			NhlTInteger		RCSG	|
|       TmPrecisions                    4                       |
|---------------------------------------------------------------|
| tmXBFormat 	                NhlTString              RCSG    |
|       NumberFormat           		"0@*+^sg"               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTFormat 	                NhlTString              RCSG    |
|       NumberFormat           		"0@*+^sg"               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLFormat   	                NhlTString              RCSG    |
|       NumberFormat           		"0@*+^sg"               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRFormat  	                NhlTString              RCSG    |
|       NumberFormat           		"0@*+^sg"               |
|---------------------------------------------------------------|
| tmXBStyle			NhlTTickMarkStyle	RCSG	|
|	TmXBStyle			"Linear"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTStyle			NhlTTickMarkStyle	RCSG	|
|	TmXTStyle			"Linear"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLStyle			NhlTTickMarkStyle	RCSG	|
|	TmYLStyle			"Linear"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRStyle			NhlTTickMarkStyle	RCSG	|
|	TmYRStyle			"Linear"		|
|---------------------------------------------------------------|
| The following Data resources relate to all axis scale modes   |
|---------------------------------------------------------------|
| tmXBDataLeftF			NhlTFloat		RCSG	|
|       TmXBDataLeftF                   0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXBDataRightF		NhlTFloat		RCSG	|
|       TmXBDataRightF                  1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTDataLeftF			NhlTFloat		RCSG	|
|       TmXTDataLeftF                   0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTDataRightF		NhlTFloat		RCSG	|
|       TmXTDataRightF                  1.0                     |
|---------------------------------------------------------------|
| tmYLDataBottomF		NhlTFloat		RCSG	|
|       TmYLDataBottomF                 0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLDataTopF			NhlTFloat		RCSG	|
|       TmYLDataTopF                    1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRDataBottomF		NhlTFloat		RCSG	|
|       TmYRDataBottomF                 0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRDataTopF			NhlTFloat		RCSG	|
|       TmYRDataTopF                    1.0                     |
|---------------------------------------------------------------|
| The following two resources per scaled axis apply only        |
| when the tm**Style resource is set to "Irregular".            |
|---------------------------------------------------------------|
| tmXBIrrTensionF		NhlTFloat		RCSG	|
|       TmXBIrrTensionF                 2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTIrrTensionF		NhlTFloat		RCSG	|
|       TmXTIrrTensionF                 2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLIrrTensionF		NhlTFloat		RCSG	|
|       TmYLIrrTensionF                 2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRIrrTensionF		NhlTFloat		RCSG	|
|       TmYRIrrTensionF                 2.0                     |
|---------------------------------------------------------------|
| tmXBIrregularPoints		NhlTFloatGenArray	RCSG	|
|       TmXBIrregularPoints             NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTIrregularPoints		NhlTFloatGenArray	RCSG	|
|       TmXTIrregularPoints             NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLIrregularPoints		NhlTFloatGenArray	RCSG	|
|       TmYLIrregularPoints             NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRIrregularPoints		NhlTFloatGenArray	RCSG	|
|       TmYRIrregularPoints             NULL                    |
|---------------------------------------------------------------|
| The following single resource per scaled axis applies only    |
| when the applicable tm**Mode resource is set to "Automatic".  |
|---------------------------------------------------------------|
| tmXBMaxTicks			NhlTInteger		RCSG	|
|       TmXBMaxTicks                    7                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMaxTicks			NhlTInteger		RCSG	|
|       TmXTMaxTicks                    7                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMaxTicks			NhlTInteger		RCSG	|
|       TmYLMaxTicks                    7                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMaxTicks			NhlTInteger		RCSG	|
|       TmYRMaxTicks                    7                       |
|---------------------------------------------------------------|
| The following three resources per scaled axis apply only      |
| when the applicable tm**Mode resource is set to "Manual".     |
|---------------------------------------------------------------|
| tmXBTickStartF		NhlTFloat		RCSG	|
|       TmXBTickStartF                  0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXBTickEndF			NhlTFloat		RCSG	|
|       TmXBTickEndF                    0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXBTickSpacingF		NhlTFloat		RCSG	|
|       TmXBTickSpacingF                0.0                     |
|---------------------------------------------------------------|
| tmXTTickStartF		NhlTFloat		RCSG	|
|       TmXTTickStartF                  0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTTickEndF			NhlTFloat		RCSG	|
|       TmXTTickEndF                    0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTTickSpacingF		NhlTFloat		RCSG	|
|       TmXTTickSpacingF                0.0                     |
|---------------------------------------------------------------|
| tmYLTickStartF		NhlTFloat		RCSG	|
|       TmYLTickStartF                  0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLTickEndF			NhlTFloat		RCSG	|
|       TmYLTickEndF                    0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLTickSpacingF		NhlTFloat		RCSG	|
|       TmYLTickSpacingF                0.0                     |
|---------------------------------------------------------------|
| tmYRTickStartF		NhlTFloat		RCSG	|
|       TmYRTickStartF                  0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRTickEndF			NhlTFloat		RCSG	|
|       TmYRTickEndF                    0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRTickSpacingF		NhlTFloat		RCSG	|
|       TmYRTickSpacingF                0.0                     |
|---------------------------------------------------------------|
| The following three array resources per scaled axis apply     |
| only when the applicable tm**Mode resource is set to          |
| "Explicit".                                                   |
| Their values can be retrieved for any value of tm**Mode.      |
|---------------------------------------------------------------|
| tmXBValues			NhlTFloatGenArray	RCSG	|
|       TmXBValues                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXBLabels			NhlTStringGenArray	RCSG	|
|       TmXBLabels                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXBMinorValues		NhlTFloatGenArray	RCSG	|
|       TmXBMinorValues                 NULL                    |
|---------------------------------------------------------------|
| tmXTValues			NhlTFloatGenArray	RCSG	|
|       TmXTValues                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabels			NhlTStringGenArray	RCSG	|
|       TmXTLabels                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorValues		NhlTFloatGenArray	RCSG	|
|       TmXTMinorValues                 NULL                    |
|---------------------------------------------------------------|
| tmYLValues			NhlTFloatGenArray	RCSG	|
|       TmYLValues                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabels			NhlTStringGenArray	RCSG	|
|       TmYLLabels                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorValues		NhlTFloatGenArray	RCSG	|
|       TmYLMinorValues                 NULL                    |
|---------------------------------------------------------------|
| tmYRValues			NhlTFloatGenArray	RCSG	|
|       TmYRValues                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabels			NhlTStringGenArray	RCSG	|
|       TmYRLabels                      NULL                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorValues		NhlTFloatGenArray	RCSG	|
|       TmYRMinorValues                 NULL                    |
|---------------------------------------------------------------|
|===============================================================|
| Label Resources                                               |
|                                                               |
| The following resources relate to writing scale labels at     |
| major tick mark locations.                                    |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| tmXBLabelsOn			NhlTBoolean		RCSG	|
|       TmXBLabelsOn                    True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelsOn			NhlTBoolean		RCSG	|
|       TmXTLabelsOn                    False                   |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelsOn			NhlTBoolean		RCSG	|
|       TmYLLabelsOn                    True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelsOn			NhlTBoolean		RCSG	|
|       TmYRLabelsOn                    False                   |
|---------------------------------------------------------------|
| tmLabelAutoStride		NhlTBoolean		RCSG	|
|       LabelAutoStride                 False                   |
|---------------------------------------------------------------|
| tmXBLabelStride		NhlTInteger		RCSG	|
|       TmXBLabelStride                 0                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelStride		NhlTInteger		RCSG	|
|       TmXTLabelStride                 0                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelStride		NhlTInteger		RCSG	|
|       TmYLLabelStride                 0                       |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelStride		NhlTInteger		RCSG	|
|       TmYRLabelStride                 0                       |
|---------------------------------------------------------------|
| tmXBLabelFuncCode		NhlTCharacter		RCSG	|
|	TextFuncCode			: 			|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFuncCode		NhlTCharacter		RCSG	|
|	TextFuncCode			:			|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFuncCode		NhlTCharacter		RCSG	|
|	TextFuncCode			:			|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFuncCode		NhlTCharacter		RCSG	|
|	TextFuncCode			:			|
|---------------------------------------------------------------|
| tmXBLabelFont			NhlTFont		RCSG	|
|	Font				"pwritx"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFont			NhlTFont		RCSG	|
|	Font				"pwritx"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFont			NhlTFont		RCSG	|
|	Font				"pwritx"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFont			NhlTFont		RCSG	|
|	Font				"pwritx"		|
|---------------------------------------------------------------|
| tmXBLabelFontHeightF		NhlTFloat		RCSG	|
|       FontHeightF		        0.02                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFontHeightF		NhlTFloat		RCSG	|
|       FontHeightF	                0.02                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFontHeightF		NhlTFloat		RCSG	|
|       FontHeightF                     0.02                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFontHeightF		NhlTFloat		RCSG	|
|       FontHeightF                     0.02                    |
|---------------------------------------------------------------|
| tmXBLabelFontColor		NhlTColorIndex		RCSG	|
|	FontColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFontColor		NhlTColorIndex		RCSG	|
|	FontColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFontColor		NhlTColorIndex		RCSG	|
|	FontColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFontColor		NhlTColorIndex		RCSG	|
|	FontColor			"Foreground"		|
|---------------------------------------------------------------|
| tmXBLabelFontAspectF		NhlTFloat		RCSG	|
|       FontAspectF                     1.3125                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFontAspectF		NhlTFloat		RCSG	|
|       FontAspectF                     1.3125                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFontAspectF		NhlTFloat		RCSG	|
|       FontAspectF                     1.3125                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFontAspectF		NhlTFloat		RCSG	|
|       FontAspectF                     1.3125                  |
|---------------------------------------------------------------|
| tmXBLabelFontThicknessF	NhlTFloat		RCSG	|
|       FontThicknessF                  1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFontThicknessF	NhlTFloat		RCSG	|
|       FontThicknessF                  1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFontThicknessF	NhlTFloat		RCSG	|
|       FontThicknesF                   1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFontThicknessF	NhlTFloat		RCSG	|
|       FontThicknessF                  1.0                     |
|---------------------------------------------------------------|
| tmXBLabelFontQuality		NhlTFontQuality		RCSG	|
|       FontQuality                     "High"                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelFontQuality		NhlTFontQuality		RCSG	|
|       FontQuality                     "High"                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelFontQuality		NhlTFontQuality		RCSG	|
|       FontQuality                     "High"                  |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelFontQuality		NhlTFontQuality		RCSG	|
|       FontQuality                     "High"                  |
|---------------------------------------------------------------|
| tmXBLabelConstantSpacingF	NhlTFloat		RCSG	|
|       TextConstantSpacingF             0.0                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelConstantSpacingF	NhlTFloat		RCSG	|
|       TextConstantSpacingF             0.0                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelConstantSpacingF	NhlTFloat		RCSG	|
|       TextConstantSpacingF             0.0                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelConstantSpacingF	NhlTFloat		RCSG	|
|       TextConstantSpacingF             0.0                    |
|---------------------------------------------------------------|
| tmXBLabelJust			NhlTJustification	RCSG	|
|	TmXBLabelJust			"TopCenter"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelJust			NhlTJustification	RCSG	|
|	TmXTLabelJust			"BottomCenter"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelJust			NhlTJustification	RCSG	|
|	TmYLLabelJust			"CenterRight"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelJust			NhlTJustification	RCSG	|
|	TmYRLabelJust			"TopLeft"		|
|---------------------------------------------------------------|
| tmXBLabelAngleF		NhlTFloat		RCSG	|
|       TextAngleF                      0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelAngleF		NhlTFloat		RCSG	|
|       TextAngleF                      0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelAngleF		NhlTFloat		RCSG	|
|       TextAngleF                      0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelAngleF		NhlTFloat		RCSG	|
|       TextAngleF                      0.0                     |
|---------------------------------------------------------------|
| tmXBLabelDirection		NhlTTextDirection	RCSG	|
|	TextDirection			"Across"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelDirection		NhlTTextDirection	RCSG	|
|	TextDirection			"Across"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelDirection		NhlTTextDirection	RCSG	|
|	TextDirection			"Across"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelDirection		NhlTTextDirection	RCSG	|
|	TextDirection			"Across"		|
|---------------------------------------------------------------|
| tmXBLabelDeltaF		NhlTFloat		RCSG	|
|       TmXBLabelDeltaF                 0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTLabelDeltaF		NhlTFloat		RCSG	|
|       TmXTLabelDeltaF                 0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLLabelDeltaF		NhlTFloat		RCSG	|
|       TmYLLabelDeltaF                 0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRLabelDeltaF		NhlTFloat		RCSG	|
|       TmYRLabelDeltaF                 0.0                     |
|---------------------------------------------------------------|
| tmXBMaxLabelLenF		NhlTFloat		G	|
|       TmXBMaxLabelLenF                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMaxLabelLenF		NhlTFloat		G	|
|       TmXTMaxLabelLenF                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMaxLabelLenF		NhlTFloat		G	|
|       TmYLMaxLabelLenF                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMaxLabelLenF		NhlTFloat		G	|
|       TmYRMaxLabelLenF                <dynamic>               |
|---------------------------------------------------------------|
| tmXBMinLabelSpacingF		NhlTFloat		G	|
|       TmXBMinLabelSpacingF            <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinLabelSpacingF		NhlTFloat		G	|
|       TmXTMinLabelSpacingF            <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinLabelSpacingF		NhlTFloat		G	|
|       TmYLMinLabelSpacingF            <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinLabelSpacingF		NhlTFloat		G	|
|       TmYRMinLabelSpacingF            <dynamic>               |
|===============================================================|
| TickMark Appearance Resources                                 |
|---------------------------------------------------------------|
| NAME				TYPE			ACCESS	|
|	CLASS				DEFAULT			|
|===============================================================|
| tmXBMinorPerMajor		NhlTInteger		RCSG	|
|       TmXMinorPerMajor                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorPerMajor		NhlTInteger		RCSG	|
|       TmXMinorPerMajor                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorPerMajor		NhlTInteger		RCSG	|
|       TmYMinorPerMajor                <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorPerMajor		NhlTInteger		RCSG	|
|       TmYMinorPerMajor                <dynamic>               |
|---------------------------------------------------------------|
| tmXBMajorThicknessF		NhlTFloat		RCSG	|
|       TmMajorThicknessesF             2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMajorThicknessF		NhlTFloat		RCSG	|
|       TmMajorThicknessesF             2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMajorThicknessF		NhlTFloat		RCSG	|
|       TmMajorThicknessesF             2.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMajorThicknessF		NhlTFloat		RCSG	|
|       TmMajorThicknessesF             2.0                     |
|---------------------------------------------------------------|
| tmXBMajorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMajorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMajorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMajorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|---------------------------------------------------------------|
| tmXBMajorLengthF		NhlTFloat		RCSG	|
|       TmMajorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMajorLengthF		NhlTFloat		RCSG	|
|       TmMajorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMajorLengthF		NhlTFloat		RCSG	|
|       TmMajorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMajorLengthF		NhlTFloat		RCSG	|
|       TmMajorLengthsF                 <dynamic>               |
|---------------------------------------------------------------|
| tmXBMajorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMajorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMajorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMajorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMajorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMajorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMajorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMajorOutwardLengthsF          0.0                     |
|---------------------------------------------------------------|
| tmXBMinorOn			NhlTBoolean		RCSG	|
|       TmXBMinorOn                     True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorOn			NhlTBoolean		RCSG	|
|       TmXTMinorOn                     True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorOn			NhlTBoolean		RCSG	|
|       TmYLMinorOn                     True                    |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorOn			NhlTBoolean		RCSG	|
|       TmYRMinorOn                     True                    |
|---------------------------------------------------------------|
| tmXBMinorThicknessF		NhlTFloat		RCSG	|
|       TmMinorThicknessesF             1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorThicknessF		NhlTFloat		RCSG	|
|       TmMinorThicknessesF             1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorThicknessF		NhlTFloat		RCSG	|
|       TmMinorThicknessesF             1.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorThicknessF		NhlTFloat		RCSG	|
|       TmMinorThicknessesF             1.0                     |
|---------------------------------------------------------------|
| tmXBMinorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorLineColor		NhlTColorIndex		RCSG	|
|	LineColor			"Foreground"		|
|---------------------------------------------------------------|
| tmXBMinorLengthF		NhlTFloat		RCSG	|
|       TmMinorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorLengthF		NhlTFloat		RCSG	|
|       TmMinorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorLengthF		NhlTFloat		RCSG	|
|       TmMinorLengthsF                 <dynamic>               |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorLengthF		NhlTFloat		RCSG	|
|       TmMinorLengthsF                 <dynamic>               |
|---------------------------------------------------------------|
| tmXBMinorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMinorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmXTMinorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMinorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYLMinorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMinorOutwardLengthsF          0.0                     |
|- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -|
| tmYRMinorOutwardLengthF	NhlTFloat		RCSG	|
|       TmMinorOutwardLengthsF          0.0                     |
|---------------------------------------------------------------|

Superclass resources

Normally, the TickMark class is being used as a composite class member of a plot class, so its superclass resources are usually overridden by the resources of the composite class. These include resources of the following superclass:


Description

The complexity of the TickMark object stems from trying to provide as much configurability as possible. The more customized you want to make your tick marks, the more resources you'll have to learn. The main function of the TickMark object is to draw a border, major tick marks, minor tick marks, and tick mark labels. Each axis is broken into two parts, a top and a bottom for the X Axis and a left and right part for the Y Axis. These four distinct parts have the same resources but with different prefixes. The X-Axis prefixes are tmXB and tmXT for the bottom and top parts of the X Axis respectively. The Y-Axis prefixes are tmYL and tmYR for the left and right parts of the Y Axis respectively. The two parts can be combined by setting the resource tmXUseBottom and tmYUseLeft resources True. What these do is copy most of the resources for the bottom tick marks into the resource for the top tick for the X Axis and the same type of operation for the Y Axis. See the description of tmXUseBottom and tmYUseLeft for a list of resources affected by setting these resources. By default tmXUseBottom and tmYUseLeft are set True.

Use as a composite class

The TickMark class is most commonly instantiated as a composite class of the PlotManager. It is one of the four types of intrinsic annotation available to plot object classes such as the XyPlot or ContourPlot. Used in this way, you no longer control some of the TickMark's resources, since the controlling PlotManager sets them automatically based on its knowledge of the data extents and the transformation in effect. However, the great majority of TickMark resources remain under your control, allowing you complete freedom to configure such things as the spacing of the tick marks, the content and appearance of the labels, and whether or not to create a grid over the data.

Modes

Each side of each axis can operate in one of three modes: Automatic, Manual, or Explicit. Automatic mode, the default, depends primarily only on the resources that specify the data values at each end of the axis. These are tmXBDataLeftF and tmXBDataRightF for the bottom X Axis and tmYLDataTopF and tmYLDataBottomF for the left Y Axis. If not otherwise specified, the left and bottom data value resources default to a value of 0.0 while the right and top resources default to a value of 1.0. Based on the data range, TickMark computes "nice" tick mark values with a maximum limit on the number of major tick marks it generates. The resources for setting the maximum tick mark limit for each axis are tmXBMaxTicks, tmXTMaxTicks, tmYRMaxTicks, and tmYLMaxTicks.

When the TickMark is instantiated as a composite class of the PlotManager, the base plot takes care of setting the data left, right, bottom, and top resources, thus ensuring consistency with the base plot's data coordinate space.

Manual mode uses additional resources that specify a starting tick coordinate value, an ending tick coordinate value, and a value that sets the spacing between the major tick marks. The resources that control the start, end, and spacing for the bottom X Axis are tmXBTickStartF, tmXBTickEndF, and tmXBTickSpacingF. If you do not set the tick start or end values, the default is to use the data left and right or top and bottom values. If you do not set the spacing value, TickMark issues a warning message and reverts to Automatic mode.

Explicit mode expects you to provide an array containing the values of the data coordinate points for the desired major tick marks and another array containing a list of strings to use as the tick mark labels. You therefore have complete control over where a tick mark is placed and what the label says. Using Explicit mode, you can create a different scale for each side of the axis. For the bottom X Axis, the resource tmXBValues contains the array of values, while tmXBLabels contains the label strings. You may optionally also set the array resource tmXBMinorValues to specify the locations of minor ticks along the axis.

Styles

Tick marks currently have three different styles and will have five styles eventually. Styles should be thought of as selecting the type of transformation for the tick mark axis to use. The three implemented styles are Linear, Log, and Irregular. The styles Geographic and Time will be added in the near future. Setting an axis' style to Log means that the axis will display Log tick marks. The only difference between Linear, Log, and Irregular style tick marks that the user should be aware of is when in Manual mode, the tm...TickSpacingF resources should be set to the number of decades to space major tick marks instead of an actual data value. Otherwise all resources function identically regardless of which style and mode combination is selected.

Irregular style tick marks are a new feature for tick marks. It allows the user to specify how data should be mapped to the output frame. The basic concept is the user specifies a set of data points to be evenly spaced along the axis. For the bottom X Axis you would specify these points using the tmXBIrregularPoints array resource. The TickMark object then sets up a mapping and chooses tick marks in the standard way.

When the TickMark is instantiated as a composite class of the PlotManager, the base plot takes care of setting the TickMark style based on its knowledge of the data transformation currently in effect.

Label text attributes

TickMark provides for the tick labels all of the text attributes supported by the TextItem class, and the names of the resources are consistent with the conventions established for the HLU library as a whole. For example, you would set the label font for the bottom tick mark labels using the resource tmXBLabelFont. This name can be derived from the equivalent TextItem resource, txFont, by replacing the TextItem prefix tx with the prefix tmXBLabel.

Numerical label formatting

There are several levels of control available for the format of the numerical labels that TickMark generates when Automatic or Manual mode is in effect. For each axis there is an integer and a boolean resource for controlling the precision (number of significant digits); there is also a single integer resource that sets, for generically formatted labels on any of the axes, the threshold string length used to decide when to switch to an exponential representation of the value. In addition, for each axis there is a format string resource that allows very detailed control of the number's appearance using the HLU Floating Point Format Specification. It is possible to override the boolean and integer resources by explicitly setting the format string resource in certain ways.

For the bottom X Axis, the two resources that control the precision are the boolean resource tmXBAutoPrecision and the integer resource tmXBPrecision. If tmXBAutoPrecision is True, TickMark determines an appropriate precision to use based on the range between the minimum label value and the maximum label value. If tmXBMode is set to Manual, TickMark also considers the value of tmXBTickSpacingF when determining the precision. Otherwise, if tmXBAutoPrecision is False, the precision is set to the value of tmXBPrecision. Given the default value of the string format resource tmXBFormat, the precision specifies the number of significant digits that will be used to represent the label with the greatest absolute value in the set of bottom X-Axis labels. The remaining labels will have the same number of digits to the left of the decimal point, but possibly fewer to the right, since their assumed leftmost significant digit is set to coincide with the actual leftmost significant digit of the maximum absolute value among the labels. For example, if the labels range from 9 to 11 in steps of 0.5 the label strings will be output as follows: "9.0 9.5 10.0 10.5 11.0".

Many other options are possible if you change the string formatting resource tmXBFormat from its default value of "0@*+^sg". For instance, if you remove the "*+" characters that cause all otherwise unspecified conversion fields to be set dynamically, the leftmost significant digit conversion field will assume its 'unspecified' state. TickMark will respond by formatting each label using the actual number of significant digits that the precision specifies. For the previous example the resulting output would be: "9.00 9.50 10.0 10.5 11.0". If tmXBStyle is set to Log, TickMark forces several of the formatting options to ensure that only an exponential format without a mantissa is available. Consult the HLU Floating Point Format Specification to learn more of the details of manipulating the output format of numerical labels. Of course, each of the other TickMark axes has resources equivalent to the bottom X-Axis resources discussed here.

The resource tmSciNoteCutoff applies to all TickMark labels. Assuming the applicable format string is using the 'g' or 'G' generic conversion specifier, the value of tmSciNoteCutoff determines the exponent switch length. If the number of digits required to represent the value using a non-exponential representation is less than the exponent switch length, then the non-exponential representation is used. Otherwise, the representation (exponential or non-exponential) that uses the fewest number of characters is used. You can override the value of tmSciNoteCutoff for any individual side by setting the exponent switch length conversion field explicitly in the format string.


Support functions

The TickMark object does not define any support functions, but inherits all the support functions available to its superclass.

Status

1. If the coordinate values in the tm...IrregularPoints array(s) are too irregular, the irregular transformation will fail. What constitutes too irregular remains to be defined.

2. Values of the tm...TensionF parameter greater than about 10.0 cause instability in the irregular transformation.


See also