Skip to main content

%ZEN.SVGComponent.chart

Class %ZEN.SVGComponent.chart Extends (svgComponent, %ZEN.Component.dataView) [ Abstract, Deprecated, System = 3 ]

This is the abstract base class from which all SVG chart components are derived.
A chart provides a base on which to display a specific type of chart (such as a barChart, lineChart, or pieChart).
This base class defines the data, grid (axes and scales), styles, and legend used by charts.
All charts are plotted onto a virtual coordinate space that measures 100 units by 100 units.
You can adjust the visual aspects of a chart by setting the various properties of this class (plus any additional properties added by the specific chart subclass).
You can adjust the x and y axis settings (such as scaling and range) via the xAxis and yAxis properties (which are objects of the type %ZEN.Auxiliary.axis).

Parameters

DEFAULTPLOTTOEDGE

Parameter DEFAULTPLOTTOEDGE As BOOLEAN = 1;

Parameter SYSMODULE = "chart"; Default value for the plotToEdge property.

DEFAULTMARKERSVISIBLE

Parameter DEFAULTMARKERSVISIBLE As BOOLEAN = 0;

Default value for the markersVisible property.

DEFAULTVALUELABELSVISIBLE

Parameter DEFAULTVALUELABELSVISIBLE As BOOLEAN = 0;

Default value for the valueLabelsVisible property.

DEFAULTASPECT

Parameter DEFAULTASPECT = "none";

Do not worry about preserving the aspect ratio.

DEFAULTVIEWBOXWIDTH;

Parameter DEFAULTVIEWBOXWIDTH;

Default viewBoxWidth of this component. This is set to 100 to provide a fixed coordinate system for meters.

DEFAULTVIEWBOXHEIGHT;

Parameter DEFAULTVIEWBOXHEIGHT;

Default viewBoxHeight of this component. This is set to 100 to provide a fixed coordinate system for meters.

DEFAULTAPPEARANCE

Parameter DEFAULTAPPEARANCE = "2D";

Default appearance of this component.

DEFAULTAUTOSCALETEXT

Parameter DEFAULTAUTOSCALETEXT As BOOLEAN = 1;

Default setting for autoscaling text as chart resizes

Properties

xAxis

Property xAxis As %ZEN.Auxiliary.axis(ZENSETTING = 0);

x axis specification for this chart.

yAxis

Property yAxis As %ZEN.Auxiliary.axis(XMLPROJECTION = "none", ZENSETTING = 0);

Deprecated. y axis specifications for this chart. This is replaced by yAxisList. This property is kept here so that applications that set yAxis directly will still function.

yAxisList

Property yAxisList As list Of %ZEN.Auxiliary.axis(XMLPROJECTION = "ELEMENT", XMLREF = 1, XMLTYPECONSTRAINT = "CHOICE", ZENSETTING = 0);

List of y axis specifications for this chart.

backgroundStyle

Property backgroundStyle As %ZEN.Datatype.svgStyle;

Optional: style used for chart background panel.

plotAreaStyle

Property plotAreaStyle As %ZEN.Datatype.svgStyle;

Optional: style used for chart plot area panel.

plotEdgeStyle

Property plotEdgeStyle As %ZEN.Datatype.svgStyle;

Optional: for charts with a 3D look, this style is applied to the edges on the left and bottom.

title

Property title As %ZEN.Datatype.caption;

Title to display for chart.

subtitle

Property subtitle As %ZEN.Datatype.caption;

Subtitle to display for chart.

legendTitle

Property legendTitle As %ZEN.Datatype.caption;

Title to display for legend box.

titleAlign

Property titleAlign As %ZEN.Datatype.string(VALUELIST = ",center,left,right") [ InitialExpression = "center" ];

Optional: alignment for title and subtitle.

titleStyle

Property titleStyle As %ZEN.Datatype.svgStyle;

Optional: style used for title text.

subtitleStyle

Property subtitleStyle As %ZEN.Datatype.svgStyle;

Optional: style used for subtitle text.

titleBoxStyle

Property titleBoxStyle As %ZEN.Datatype.svgStyle;

Optional: style used for box underneath title text.

borderStyle

Property borderStyle As %ZEN.Datatype.svgStyle;

Optional: style used for border line inset from outer edge of chart.

stripesVisible

Property stripesVisible As %ZEN.Datatype.boolean [ InitialExpression = 0 ];

Optional: if true, draw stripes over value axis grid lines.

stripeStyle

Property stripeStyle As %ZEN.Datatype.svgStyle;

Optional: style used for grid stripes (when enabled).

borderOffset

Property borderOffset As %ZEN.Datatype.integer [ InitialExpression = 8 ];

Optional: distance (in pixels) between the background rectangle and the border.

borderRadius

Property borderRadius As %ZEN.Datatype.integer [ InitialExpression = 0 ];

Optional: radius applied to the chart's background rectangle and border.

titleX

Property titleX As %ZEN.Datatype.length;

If this chart has a title, x-position (within the chart coordinate space) of the title. If not specified, then a default value is calculated.

titleY

Property titleY As %ZEN.Datatype.length;

If this chart has a title, y-position (within the chart coordinate space) of the title. If not specified, then a default value is calculated.

seriesCount

Property seriesCount As %ZEN.Datatype.integer(MINVAL = 0);

Number of data series to display on this chart. If "", then this is computed automatically from the chart's data source when the chart is connected to a dataController.

seriesSize

Property seriesSize As %ZEN.Datatype.integer(MINVAL = 0);

Number of items within each data series to display on this chart. If "", then this is computed automatically from the chart's data source when the chart is connected to a dataController.

seriesColors

Property seriesColors As %ZEN.Datatype.csv;

Comma-delimited list of CSS color values used for data series. This can be set to a list of SVG fill color values, e.g., "red,green,blue" or "url(#glow-red),url(#glow-green),url(#glow-blue)".
The first color is used by the first data series and so on. If there are more data series than colors, the colors are repeated.
If this is not defined the colors defined by seriesColorScheme are used.

seriesColorsOverride

Property seriesColorsOverride As %ZEN.Datatype.csv;

Additional Comma-delimited list of CSS color values used for data series. If supplied, this is merged with the colors in the seriesColors list. This makes it possible to override specific colors within a chart while preserving the underlying default colors.

seriesColorScheme

Property seriesColorScheme As %ZEN.Datatype.string(VALUELIST = ",urban,tuscan,caribbean,rustbelt,bright,glow,gray,pastel,solid") [ InitialExpression = "tuscan" ];

This is the name of a built-in color scheme used to plot data series for the chart.
If seriesColors is defined, then this property is ignored.

seriesNames

Property seriesNames As %ZEN.Datatype.csv(ZENLOCALIZE = 1);

Comma-delimited list of names used to label each data series in the legend box.
This is a localized value (the entire list is treated as one localized string).

seriesNumber

Property seriesNumber As %ZEN.Datatype.integer(MINVAL = 0);

Optional. If defined then the chart will only plot the specified data series (0-based) when connected to a data controller. This is used by DeepSee in some cases.

seriesYAxes

Property seriesYAxes As %ZEN.Datatype.csv;

Optional. If defined, specifies which y-axis should be used for each data series. This is a csv-list of y-axis numbers (0-based). By default, the every data series uses y-axis 0.

currYAxis

Property currYAxis As %ZEN.Datatype.integer(MINVAL = 0) [ InitialExpression = 0 ];

Specifies which yAxis definition is used to drive the chart yaxis (0 based).

markerShapes

Property markerShapes As %ZEN.Datatype.csv [ InitialExpression = "circle,up,down,square" ];

Comma-delimited list of marker shapes used for data series markers. Possible values are 'up','down','square','circle'.
This only applies to charts that support markers.

markerScale

Property markerScale As %ZEN.Datatype.float [ InitialExpression = 1 ];

Scaling applied to chart markers: A value of 1.0 (or '') will display markers with their default size. This only applies to charts that support markers.

gridStyle

Property gridStyle As %ZEN.Datatype.svgStyle;

Optional: default style applied to all grid line elements for this chart. If defined, this style overrides any styles define in the CSS style definition for the page, but is in turn overridden by any styles defined by a specific axis element.

labelStyle

Property labelStyle As %ZEN.Datatype.svgStyle;

Optional: default style applied to all grid label elements for this chart. If defined, this style overrides any styles define in the CSS style definition for the page, but is in turn overridden by any styles defined by a specific axis element.

maxLabelLen

Property maxLabelLen As %ZEN.Datatype.integer [ InitialExpression = 20 ];

Maximum number of characters to display for an axis label.

axisTitleStyle

Property axisTitleStyle As %ZEN.Datatype.svgStyle [ InitialExpression = "opacity:0.5;" ];

Optional: default style applied to axis titles for this chart.
This is applied in addition to the style supplied by labelStyle.

labelsVisible

Property labelsVisible As %ZEN.Datatype.boolean [ InitialExpression = 1 ];

If true, display axis labels for this chart (or slice labels in the case of a pie chart).

legendVisible

Property legendVisible As %ZEN.Datatype.string(VALUELIST = ",auto,false,true") [ InitialExpression = "auto" ];

If true, display a legend for this chart. If "auto" then the legend is displayed if there is more than one data series for the chart.

legendX

Property legendX As %ZEN.Datatype.length;

If this chart has a legend, x-position (within the chart coordinate space) of legend box. If not specified a default position will be used.

legendY

Property legendY As %ZEN.Datatype.length;

If this chart has a legend, y-position (within the chart coordinate space) of legend box. If not specified a default position will be used.

legendWidth

Property legendWidth As %ZEN.Datatype.length;

If this chart has a legend, width (within the chart coordinate space) of legend box. If not specified a default width will be used.

legendHeight

Property legendHeight As %ZEN.Datatype.length;

If this chart has a legend, height (within the chart coordinate space) of legend box. If not specified a default height (based on number of data series) will be used.

legendStyle

Property legendStyle As %ZEN.Datatype.svgStyle;

Optional: style used for background of the legend box.

legendLabelStyle

Property legendLabelStyle As %ZEN.Datatype.svgStyle;

Optional: style used for text within the legend box.

legendRectStyle

Property legendRectStyle As %ZEN.Datatype.svgStyle;

Optional: style used for rectangle indicating the current legend within the legend box.

marginTop

Property marginTop As %ZEN.Datatype.length;

Margin (within the chart coordinate space) from top edge of chart to top edge of grid (plot area). If not specified, then this value will be automatically calculated.

marginBottom

Property marginBottom As %ZEN.Datatype.length;

Margin (within the chart coordinate space) from bottom edge of chart to bottom edge of grid (plot area). If not specified, then this value will be automatically calculated.

marginLeft

Property marginLeft As %ZEN.Datatype.length;

Margin (within the chart coordinate space) from left edge of chart to left edge of grid (plot area). If not specified, then this width will be automatically calculated.

marginRight

Property marginRight As %ZEN.Datatype.length;

Margin (within the chart coordinate space) from right edge of chart to right edge of grid (plot area). If not specified, then this width will be automatically calculated.

markersVisible

Property markersVisible As %ZEN.Datatype.boolean [ InitialExpression = {..#DEFAULTMARKERSVISIBLE} ];

Specifies whether markers should be displayed for the data points within the chart.
This only applies to charts that display markers.

valueLabelsVisible

Property valueLabelsVisible As %ZEN.Datatype.boolean [ InitialExpression = {..#DEFAULTVALUELABELSVISIBLE} ];

Specifies whether values should be displayed for elements within the chart. This only applies to charts that display element values (such as bar charts).

valueLabelStyle

Property valueLabelStyle As %ZEN.Datatype.svgStyle;

Optional: style used for value labels. This only applies to charts that display element values (such as bar charts).

valueLabelFormat

Property valueLabelFormat As %ZEN.Datatype.string;

Optional: numeric format applied to value labels. This only applies to charts that display element values (such as bar charts).

valueBoxStyle

Property valueBoxStyle As %ZEN.Datatype.svgStyle;

Optional: style used for boxes around value labels. This only applies to charts that display element values (such as bar charts).

autoScaleText

Property autoScaleText As %ZEN.Datatype.boolean [ InitialExpression = {..#DEFAULTAUTOSCALETEXT} ];

Specifies how the text elements of a chart should be handled when a chart is resized. If True, the text scales in proportion to the chart itself and all requested labels are rendered regardless of legibility. If false, the size of the text elements is fixed with respect to the page and some lables may be omitted to avoid visual overlap if insufficient space is provided to render the values should the chart be scaled down beyond certain thresholds

plotToEdge

Property plotToEdge As %ZEN.Datatype.boolean [ InitialExpression = {..#DEFAULTPLOTTOEDGE} ];

Specifies how values should be plotted along a category axis. If true, plot the first and last values on the edges of the plotArea (as in a line chart). If false, plot values in the centers of each unit (as in a bar chart).
This is specified by subclasses.

bandUpper

Property bandUpper As %ZEN.Datatype.float;

If defined, then a colored band (specified by bandUpperStyle) is displayed on the plot area covering the range greater than this value;

bandLower

Property bandLower As %ZEN.Datatype.float;

If defined, then a colored band (specified by bandLowerStyle) is displayed on the plot area covering the range lower than this value;

bandUpperStyle

Property bandUpperStyle As %ZEN.Datatype.svgStyle;

Optional: style used for upper band on plot area.

bandLowerStyle

Property bandLowerStyle As %ZEN.Datatype.svgStyle;

Optional: style used for upper band on plot area.

axisLineStyle

Property axisLineStyle As %ZEN.Datatype.svgStyle;

Optional: style applied to line drawn for x and y axes.

baseLineStyle

Property baseLineStyle As %ZEN.Datatype.svgStyle;

Optional: style applied to base line.

appearance

Property appearance As %ZEN.Datatype.string(VALUELIST = ",2D,3D") [ InitialExpression = {..#DEFAULTAPPEARANCE} ];

Controls the appearance of this chart.
Set this to "2D" (the default) for a standard chart appearance.
Setting this to "3D" will give the chart a 3-D appearance; the plot area will appear to be recessed. Certain chart types, such as bar charts, will display items with a 3-D look.
For pie charts, setting this to "3D" will display a pie chart with a 3-D appearance, but will not affect the plot area.

textSize

Property textSize As %ZEN.Datatype.string(VALUELIST = ",small,medium,large") [ InitialExpression = "medium" ];

Optional: if "medium", use the default font sizes specified by the CSS for the chart. if "small" or "large" adjust the size of any text in the chart that does not have an explicit style set (via a property).

hasZoom

Property hasZoom As %ZEN.Datatype.boolean [ InitialExpression = 0 ];

Optional: if true, display zoom in/out buttons (for certain chart types).

showMultiples

Property showMultiples As %ZEN.Datatype.boolean [ InitialExpression = 0 ];

Optional: If true, display chart as number of small multiple charts, one per data series. This is only used by charts that support small multiples otherwise it is ignored.

multipleTitleStyle

Property multipleTitleStyle As %ZEN.Datatype.svgStyle;

Optional: style used for title text within each "multiple" charts. Used when showMultiples is enabled.

currMultiple

Property currMultiple As %ZEN.Datatype.integer(XMLPROJECTION = "none", ZENSETTING = 0) [ Internal ];

Internal property used to track which multiple is being rendered.

ongetData

Property ongetData As %ZEN.Datatype.eventHandler;

ongetData event handler: This event handler, if defined, is called by the chart to get an array of values to plot for a data series. This provides an alternate way to provide display data for a chart.
The event handler is passed an argument, series, that contains the ordinal number (0-based) of the data series. This event handler should return an array of numeric values for the specified data series.

ongetLabelX

Property ongetLabelX As %ZEN.Datatype.eventHandler;

ongetLabelX event handler: This event handler, if defined, is called by the chart to get the text for a given label on the x axis.
The event handler is passed an argument, value, that contains the ordinal number (0-based) of the label.

ongetLabelY

Property ongetLabelY As %ZEN.Datatype.eventHandler;

ongetLabelY event handler: This event handler, if defined, is called by the chart to get the text for a given label on the y axis.
The event handler is passed an argument, value, that contains the ordinal number (0-based) of the label.

onelementClick

Property onelementClick As %ZEN.Datatype.eventHandler;

onelementClick event handler: This event handler is called by the chart when the user clicks the mouse on a chart element (such as a line chart marker, or bar in a bar chart).
The event handler is passed an argument, chart, that is this chart object. You can then use the getSelectedItem method to determine the current selected element.

onrenderPlotArea

Property onrenderPlotArea As %ZEN.Datatype.eventHandler;

onrenderPlotArea event handler: This event handler, if defined, is called by the chart just after it displays its underlying plot area (and bands) but before it display grid lines and data.

onrenderData

Property onrenderData As %ZEN.Datatype.eventHandler;

onrenderData event handler: This event handler, if defined, is called by the chart just after it is finished displaying grid lines and data. The event handler is passed an argument, chart, that is this chart object. If it also passed group, which is the SVG group to which any new svg content should be added.

onshowTooltip

Property onshowTooltip As %ZEN.Datatype.eventHandler;

onshowTooltip event handler: This event handler, if defined, is called by the chart just before it displays a tool tip.

plotStyle

Property plotStyle As %ZEN.Datatype.svgStyle;

Optional: default style applied to svg elements used for plotting data by this chart (such as the bars within a bar chart). Note: lines within line charts use the lineStyle property.

lineStyle

Property lineStyle As %ZEN.Datatype.svgStyle;

Optional: default style applied to svg line elements within line-style charts.

markerStyle

Property markerStyle As %ZEN.Datatype.svgStyle;

Optional: style used for series markers.

indicatorsVisible

Property indicatorsVisible As %ZEN.Datatype.boolean [ InitialExpression = 0 ];

Specifies whether indicator lines should be displayed for the selected item within the chart.
This only applies to charts that display indicator lines.

indicatorStyle

Property indicatorStyle As %ZEN.Datatype.svgStyle;

Optional: style used for indicators.

ongetTimeEvents

Property ongetTimeEvents As %ZEN.Datatype.eventHandler;

ongetTimeEvents event handler: This event handler, if defined, is called by the chart to get an array of "time events" to display for a time chart.

selectedItemStyle

Property selectedItemStyle As %ZEN.Datatype.svgStyle [ InitialExpression = "stroke:darkgreen;stroke-width:3px;" ];

Optional: style used to indicate the current selected chart element.

unselectedItemStyle

Property unselectedItemStyle As %ZEN.Datatype.svgStyle [ InitialExpression = "opacity:0.5;" ];

Optional: style used to indicate unselected chart elements. This is used when there is a selected element.

scrollButtonStyle

Property scrollButtonStyle As %ZEN.Datatype.svgStyle;

Optional: style applied to zoom and scroll buttons when visible.

selectedSeries

Property selectedSeries As %ZEN.Datatype.integer [ InitialExpression = -1 ];

Series number (0-based) of currently selected chart element, if any.

selectedItem

Property selectedItem As %ZEN.Datatype.integer [ InitialExpression = -1 ];

Item number (0-based) of currently selected chart element, if any.

hzZoomStep

Property hzZoomStep As %ZEN.Datatype.float(XMLPROJECTION = "none", ZENSETTING = 0) [ InitialExpression = 0, Internal ];

Internal horizontal zoom factor. 0 is fully zoomed out; each increase of 1 doubles the number of visible items.

scrollLeft

Property scrollLeft As %ZEN.Datatype.float(XMLPROJECTION = "none", ZENSETTING = 0) [ InitialExpression = 0.0, Internal ];

Internal amount of horizontal scroll.

tag

Property tag As %ZEN.Datatype.string(XMLPROJECTION = "none", ZENSETTING = 0) [ Internal ];

Property set by things like bubble chart which don't support seriesYAxes.

timeBased

Property timeBased As %ZEN.Datatype.boolean [ InitialExpression = 0 ];

Optional: If true, then the x-axis for this chart is a time line displaying date values from startTime to endTime. In this case, the series names for data are interpreted as time values (YYYY-MM-DD HH:MM:SS). This setting only works in a few cases, namely non-pivotted line charts. For all other cases this setting is ignored.

startTime

Property startTime As %ZEN.Datatype.string;

Earliest displayed time (as YYYY-MM-DD HH:MM:SS). This is used for the x axis in a timeBased chart.

endTime

Property endTime As %ZEN.Datatype.string;

Latest displayed time (as YYYY-MM-DD HH:MM:SS). This is used for the x axis in a timeBased chart.

titleImage

Property titleImage As %ZEN.Datatype.uri;

Optional: URL of image to display within the title area.

titleImageStyle

Property titleImageStyle As %ZEN.Datatype.svgStyle;

Optional. Style for titleImage: left,top,width, and height.

ongetSeriesColor

Property ongetSeriesColor As %ZEN.Datatype.eventHandler;

ongetSeriesColor event handler: This event handler, if defined, is called by the chart to get the color for a given data series.
The event handler is passed an argument, series, that contains the ordinal number (0-based) of the series.

tooltipRectStyle

Property tooltipRectStyle As %ZEN.Datatype.svgStyle;

if non-null used to set style for tool tip rectangle

warnIfNoData

Property warnIfNoData As %ZEN.Datatype.boolean;

Set to 1 to display a localized warning message if chart has no data

msgIfNoData

Property msgIfNoData As %ZEN.Datatype.caption [ InitialExpression = "No Data" ];

localized warning message if chart has no data

noDataOpacity

Property noDataOpacity As %ZEN.Datatype.float [ InitialExpression = "1.0" ];

opacity of background rectangle for no data message

noDataFill

Property noDataFill As %ZEN.Datatype.color [ InitialExpression = "red" ];

color of background rectangle for no data message

noDataStroke

Property noDataStroke As %ZEN.Datatype.color [ InitialExpression = "white" ];

color of no data message

XDatas

SVGStyle

XData SVGStyle

Methods

updateChart

ClientMethod updateChart() [ Language = javascript ]

Call this method to update contents of this chart.

renderContents

ClientMethod renderContents() [ Language = javascript ]

Client-side method to render control.

setXAxis

ClientMethod setXAxis(axis) [ Language = javascript ]

Set the x Axis definition for this chart. Return the old axis if present.

setCurrYAxis

ClientMethod setCurrYAxis(axisNo) [ Language = javascript ]

Set the current y Axis definition used for this chart. axisNo is the index of the y-axis, 0-based.

getCurrYAxis

ClientMethod getCurrYAxis(which) [ Language = javascript ]

Get the current y Axis definition used for this chart. which is "left" or "right".

setYAxis

ClientMethod setYAxis(axis) [ Language = javascript ]

Set the y Axis definition for this chart. Return the old axis if present.

getXAxis

ClientMethod getXAxis() [ Language = javascript ]

Return the x Axis definition for this chart.

getYAxis

ClientMethod getYAxis(index) [ Language = javascript ]

Return the y Axis definition for this chart (or null if not found).

getYAxisCount

ClientMethod getYAxisCount() [ Language = javascript ]

Return the number of y Axis definitions for this chart.

getXAxisType

ClientMethod getXAxisType() [ Language = javascript ]

Return the type of x axis (category or value) used by this chart.

getYAxisType

ClientMethod getYAxisType() [ Language = javascript ]

Return the type of y axis (category or value) used by this chart.

getXAxisTitle

ClientMethod getXAxisTitle() [ Language = javascript ]

Return the x axis title.

getYAxisTitle

ClientMethod getYAxisTitle(which) [ Language = javascript ]

Return the y axis title.

is3D

ClientMethod is3D() [ Language = javascript ]

Indicates whether this chart should be drawn with a 3-D appearance.

calculateRangeValues

ClientMethod calculateRangeValues() [ Internal, Language = javascript ]

Internal method: Set up range and other information.

initializeAxisProperties

ClientMethod initializeAxisProperties() [ Language = javascript ]

calculateAxisConstraints

ClientMethod calculateAxisConstraints() [ Language = javascript ]

If the plot has axes, pre-calculate the internal values that will be used to govern how those axes are rendered

findScaleUnits

ClientMethod findScaleUnits(val) [ Internal, Language = javascript ]

Internal method: Find best scale units to use for given value.

renderPlotArea

ClientMethod renderPlotArea() [ Language = javascript ]

Draw the plot area of the chart.

showNoDataMsg

ClientMethod showNoDataMsg(msg, plotAreaGroup, clipGroup) [ Language = javascript ]

Display the NoDataMsg. If the plotAreaGroup and clipGroup objects are known in the calling context, they may be passed in, otherwise the method will attempt to find them.

removeNoDataMsg

ClientMethod removeNoDataMsg(plotAreaGroup) [ Language = javascript ]

Remove the NoDataMsg from the plot area.

hasAxes

ClientMethod hasAxes() [ Language = javascript ]

Indicates that this chart has axes and associated grids A subclass may override this to turn off axis display.

isTimeBased

ClientMethod isTimeBased() [ Language = javascript ]

Test if a time-based x axis should be used. This is overridden in subclasses.

renderAxes

ClientMethod renderAxes() [ Language = javascript ]

Draw the x and y axes and grid lines.

prepareAxisGroup

ClientMethod prepareAxisGroup(idName, parentNode) [ Language = javascript ]

Prepare the axis group for population with axis information

createXLabelNode

ClientMethod createXLabelNode(index, fontSize, style, angle, group) [ Language = javascript ]

calculateXAxisTitleHeight

ClientMethod calculateXAxisTitleHeight() [ Language = javascript ]

calculateXAxisHeight

ClientMethod calculateXAxisHeight() [ Language = javascript ]

renderXAxisTitle

ClientMethod renderXAxisTitle(group) [ Language = javascript ]

Draw the title section for the Y axis (if any) and return the height reserved for the rendering

renderXLabels

ClientMethod renderXLabels() [ Language = javascript ]

Draw the labels for the x axis.

pickVerticalSkips

ClientMethod pickVerticalSkips(flag, max) [ Language = javascript ]

IF all went as expected, the idx array should have the indices of the labels we'd like to print, the lWidth array should have the native widths of each label and maxWidth should be the length of the longest label. Now we need to print them. This is the core of the vertical decimation algorithm. Given a maximum number of label to choose from an array, pick a subset that will (hopefully) use the available space effectively and keep things visually balanced.

calculateYAxisWidth

ClientMethod calculateYAxisWidth(which) [ Language = javascript ]

Internl method to calculate how much room should be reserved for the Y axis area. This includes both the axis title and the individual labels

renderYAxisTitle

ClientMethod renderYAxisTitle(group, which, xpos) [ Language = javascript ]

Draw the title section for the Y axis (if any) and return the width reserved for the rendering

renderYLabels

ClientMethod renderYLabels(which) [ Language = javascript ]

Draw the labels for the y axis.

renderSeriesGroup

ClientMethod renderSeriesGroup() [ Language = javascript ]

Draw the data series for this chart. This method renders the container for the data series and then invokes a sub-class specific renderSeries method.

renderSeries

ClientMethod renderSeries(group) [ Language = javascript ]

Draw data series for this chart. This is implemented by subclasses. group is the SVG container for the chart components.

renderLegend

ClientMethod renderLegend() [ Language = javascript ]

Draw the legend for the chart.

renderControlBar

ClientMethod renderControlBar() [ Internal, Language = javascript ]

Draw the control bar for this chart. This houses the zoom and pan buttons, if present.

renderZoomTool

ClientMethod renderZoomTool() [ Internal, Language = javascript ]

Draw the zoom and scroll tools for this chart.

zoomToolHandler

ClientMethod zoomToolHandler(evt, zoomIn) [ Internal, Language = javascript ]

Click handler for zoom tool.

scrollHandlerDown

ClientMethod scrollHandlerDown(evt, left) [ Internal, Language = javascript ]

Mouse down handler for scroll button.

btnTimerHandler

ClientMethod btnTimerHandler(left) [ Internal, Language = javascript ]

Timer handler for scroll buttons.

scrollHandlerUp

ClientMethod scrollHandlerUp(evt) [ Internal, Language = javascript ]

Mouse up handler for scroll button.

scrollHandler

ClientMethod scrollHandler(left) [ Internal, Language = javascript ]

Perform the scroll action when the button is pressed.

getPelToPixelVRatio

ClientMethod getPelToPixelVRatio() [ Language = javascript ]

The Normalized viewbox ranges from 0 0 to 100 100, the physical space occupied by the chart is specified as the width and height (in pixels) of the base SVG group. This function returns a mapping of logical picture units to pixels in the vertical direction.

getPelToPixelHRatio

ClientMethod getPelToPixelHRatio() [ Language = javascript ]

The Normalized viewbox ranges from 0 0 to 100 100, the physical space occupied by the chart is specified as the width and height (in pixels) of the base SVG group. This function returns a mapping of logical picture units to pixels in the horizontal direction.

removeChildNodes

ClientMethod removeChildNodes(node) [ Language = javascript ]

computeEffectiveExtents

ClientMethod computeEffectiveExtents(x, y, w, h, angle) [ Language = javascript ]

createSVGTextNode

ClientMethod createSVGTextNode(caption, fontSize, autoScale, align, rotate, parentNode, txtClass, txtStyle) [ Language = javascript ]

Create a text node.

stripWhitespace

ClientMethod stripWhitespace(str) [ Language = javascript ]

integrateStyleSpec

ClientMethod integrateStyleSpec(styleNVP, newRule) [ Language = javascript ]

Integrate a new Style specification into an existing set of name-value style pairs, adding and overwriting existing styles as appropriate

computeStyle

ClientMethod computeStyle(className, idName) [ Language = javascript ]

Compute and return the effective style that governs the rendering of a given SVG element based on class and Id

embedStyle

ClientMethod embedStyle(element, styleNVP) [ Language = javascript ]

Embed the various settings of a computed style name-value object as direct attributes of the given node.

getComputedFontSize

ClientMethod getComputedFontSize(styleNVP, defaultMedium, defaultSmall, defaultLarge) [ Language = javascript ]

Given a resolved style name-value pairing object, return the specified font size, if none has been specified, return one of three default values based on the value of the textSize property.

renderTitle

ClientMethod renderTitle() [ Language = javascript ]

Draw the title for the chart. Return the height of the title.

adjustChartTitle

ClientMethod adjustChartTitle() [ Language = javascript ]

Adjust position of chart title and legend (if needed).

getChartTitle

ClientMethod getChartTitle() [ Language = javascript ]

Get title for the chart.

getChartSubtitle

ClientMethod getChartSubtitle() [ Language = javascript ]

Get subtitle for the chart.

renderBands

ClientMethod renderBands() [ Language = javascript ]

Draw the upper/lower bands for the chart.

getPlotX

ClientMethod getPlotX(val) [ Language = javascript ]

Given a logical value, return the corresponding x-axis coordinate.

getPlotY

ClientMethod getPlotY(val, yAxisNo) [ Language = javascript ]

Given a logical value, return the corresponding y-axis coordinate.

getXLabelText

ClientMethod getXLabelText(val, base, noformat) [ Language = javascript ]

Given a logical value, return the text to use for an axis label. Subclasses can override this for custom behavior. JSL4133 - pass an optional base we can add to val when label is null

getYLabelText

ClientMethod getYLabelText(val, yAxisNo, base) [ Language = javascript ]

Given a logical value, return the text to use for an axis label. base is an arbitrary delta but can be used to make labels 0-based or 1-based default is 0-based for backwards compatibility Can be overriden by user through sub-classing

xToLogical

ClientMethod xToLogical(val) [ Language = javascript ]

Convert a user-provided x-coordinate into 0-100 logical space. This means: 10 returns 10, but "10px" is converted using the current width of the chart.

yToLogical

ClientMethod yToLogical(val) [ Language = javascript ]

Convert a user-provided y-coordinate into 0-100 logical space. This means: 10 returns 10, but "10px" is converted using the current height of the chart.

getNumericAbbreviation

ClientMethod getNumericAbbreviation(val, min, max) [ Language = javascript ]

Return a numeric abbreviation for a value. min and max are range that value falls within. E.g., 10K for 10000

acquireData

ClientMethod acquireData() [ Internal, Language = javascript ]

Internal method: acquire data for this chart and store a copy in a local cache.

findDataRange

ClientMethod findDataRange(yAxisNo) [ Internal, Language = javascript ]

Internal method: return (as an object) the minimum and maximum data values for this chart. This is used for ranges that are automatically calculated.

useSumForRange

ClientMethod useSumForRange() [ Language = javascript ]

This method returns true if data series should be summed when calculating data range for the chart. Typically a chart will return true if it is in "stacked" mode.

usePercentForRange

ClientMethod usePercentForRange() [ Language = javascript ]

This method returns true if data series is a "percentage bar chart" and so calculated data range should be 0 to 100%

acquireSeriesData

ClientMethod acquireSeriesData(series) [ Internal, Language = javascript ]

Internal method: Go to external data source and eturn an array containing data values for the given series (0-based).

getSeriesData

ClientMethod getSeriesData(series) [ Language = javascript ]

Return data values for the given series (0-based) from the chart's data cache.

getSeriesCount

ClientMethod getSeriesCount() [ Language = javascript ]

Return the number of data series for this chart.

getSeriesNames

ClientMethod getSeriesNames() [ Language = javascript ]

Return an array containing the names of the data series for this chart.
If a name is missing, the series number is used.
If the chart is connected to a data controller, get the names from the controller.

getLegendLabels

ClientMethod getLegendLabels() [ Language = javascript ]

Return an array of labels to display within the Legend box.
Default implementation is to return a list of series names.

getMarkerShape

ClientMethod getMarkerShape(series) [ Language = javascript ]

Return the marker type that should be used for the given series.

getColorSchemeArray

ClientMethod getColorSchemeArray(scheme) [ Language = javascript ]

Return an array of color values for given data series color scheme.

getSeriesColor

ClientMethod getSeriesColor(series) [ Language = javascript ]

Return the CSS color that should be used for the given series.

getSeriesSize

ClientMethod getSeriesSize() [ Language = javascript ]

Return the number of items within each data series (this assumes that all data series have the same number of items).

hasSelectedItem

ClientMethod hasSelectedItem() [ Language = javascript ]

Returns if there is a current selected element.

getSelectedStyle

ClientMethod getSelectedStyle(series, item, isMarker) [ Language = javascript ]

Return any additional select/unselect style to apply to a chart element.

getSelectedSeries

ClientMethod getSelectedSeries() [ Language = javascript ]

Returns index number (0-based) of the data series of the current selected item, or -1 if there is no current selection.

getSelectedItem

ClientMethod getSelectedItem() [ Language = javascript ]

Returns index number (0-based) of the current selected item, or -1 if there is no current selection.

createMarker

ClientMethod createMarker(series, item, x, y, color, type, noevents) [ Language = javascript ]

Create a plot marker. This may be used by subclasses to display markers. type can be 'up','down','circle','square'.

selectElement

ClientMethod selectElement(series, item) [ Language = javascript ]

Select the specified chart element.

getSeriesSVGGroup

ClientMethod getSeriesSVGGroup() [ Language = javascript ]

Return the svg group element that contains the data series elements.

getChartElement

ClientMethod getChartElement(series, item) [ Language = javascript ]

Return the svg object for a specified data element (if any).

getChartRelatedElements

ClientMethod getChartRelatedElements(series, item) [ Language = javascript ]

Return an array of related svg objects for a specified data element (if any). (such as the edges of a 3d rendering).

getChartElementStyle

ClientMethod getChartElementStyle(series, item) [ Language = javascript ]

Return default style for the specified data element (if any). This is used to restore styles when chart elements are unselected. Subclasses can override this.

chartElementClickHandler

ClientMethod chartElementClickHandler(evt, series, item) [ Language = javascript ]

Mouse click handler for chart elements. Subclasses can use this method to associated click events with chart elements.

chartElementMouseOver

ClientMethod chartElementMouseOver(evt, series, item) [ Internal, Language = javascript ]

Mouse over handler for chart elements. This takes care of tooltips.

chartElementMouseOut

ClientMethod chartElementMouseOut(evt, series, item) [ Internal, Language = javascript ]

Mouse out handler for chart elements.

showToolTip

ClientMethod showToolTip() [ Internal, Language = javascript ]

Create a tooltip for the current chart item.

setDimToolTip

ClientMethod setDimToolTip(captions, values, x, y, final) [ Language = javascript ]

revealToolTip

ClientMethod revealToolTip() [ Internal, Language = javascript ]

Fade in tooltip.

hideToolTip

ClientMethod hideToolTip() [ Internal, Language = javascript ]

Remove the current tool tip.

getToolTipInfo

ClientMethod getToolTipInfo(series, item, captions, values) [ Internal, Language = javascript ]

Return an object containing tooltip information for the given element.

notifyViewHandler

ClientMethod notifyViewHandler(reason, data1, data2, data3) [ Language = javascript ]

Notification that the dataController associated with this dataView has raised an event.

setProperty

ClientMethod setProperty(property, value1, value2) [ Language = javascript ]

Set the value of a named property.

setSizeHandler

ClientMethod setSizeHandler() [ Language = javascript ]

Notification that this component has been resized.

formatNumeric

ClientMethod formatNumeric(nStr) [ Language = javascript ]

Format numeric value.

getRangeGroupForSeries

ClientMethod getRangeGroupForSeries(series) [ Language = javascript ]

Indicate which "group" should be used for computing axis ranges. This is overridden by combo charts.

plotLineForSeries

ClientMethod plotLineForSeries(group, s, data, stacked, chartFilled, markersVisible, hasEvents) [ Language = javascript ]

Draw a line for one data series, s (0-based). data contains the data for all series as an array of arrays.

getSeriesType

ClientMethod getSeriesType(series) [ Language = javascript ]

Return the type (how a series should be displayed) for the given data series (0-based). This is used by combo chart and ignored by all others.

getYAxisIndexForSeries

ClientMethod getYAxisIndexForSeries(series) [ Language = javascript ]

Return the index (0-based) of the y-axis associated with the given data series. It may return -1 if the chart is not rendered yet.

hasMultiples

ClientMethod hasMultiples() [ Language = javascript ]

Indicates that this chart supports and is in "show multiples" mode. A subclass may override this.

computeXAxisTimeLine

ClientMethod computeXAxisTimeLine() [ Language = javascript ]

Compute scaling information for a time-based x-axis.

renderXAxisTimeLine

ClientMethod renderXAxisTimeLine(timeCellGroup, y) [ Language = javascript ]

Render x-axis labels and tick marks for time-based x-axis.

getTimeX

ClientMethod getTimeX(time) [ Language = javascript ]

For a given time value, YYYY-MM-DD, find the corresponding x coordinate in virtual pixels.

getCellInfo

ClientMethod getCellInfo(cell, majorUnits, minorUnits, index) [ Internal, Language = javascript ]

Return information about a cell within a time line grid.

setTimeRange

ClientMethod setTimeRange(startTime, endTime, final) [ Language = javascript ]

Set the timeline start and end dates and update the chart. If endTime is not provided, update it to preserve the current time range using startTime as a new starting time.
Time values are in 'yyyy-mm-dd' format. This prevents the repaint that would happen if start and end dates are set separately.

objectToXML

ClientMethod objectToXML(object, tag, add, skip) [ Internal, Language = javascript ]

Internal utility method. Return the xml version of a given zen object. Add any properties in the add list. Skip any properties in the skip list.

getStartTime

ClientMethod getStartTime() [ Language = javascript ]

Get the start time for a time-based chart.

getEndTime

ClientMethod getEndTime() [ Language = javascript ]

Get the end time for a time-based chart.

getLegendRectStyle

ClientMethod getLegendRectStyle(s) [ Language = javascript ]

getRelatedElementStyle

ClientMethod getRelatedElementStyle(series, item) [ Language = javascript ]

getLegendsCount

ClientMethod getLegendsCount(legends) [ Language = javascript ]

getSeriesNamesSize

ClientMethod getSeriesNamesSize() [ Language = javascript ]

updateIndicator

ClientMethod updateIndicator() [ Language = javascript ]

Update the "indicator" (crosshairs) for the selected item.

renderTimeEvents

ClientMethod renderTimeEvents(group) [ Language = javascript ]

Render a set of time-events within the chart.

setSeeThrough

ClientMethod setSeeThrough(opacity) [ Language = javascript ]

parseStyleSVG

ClientMethod parseStyleSVG(style) [ Language = javascript ]

Utility method. Split an SVG css value into individual style values. Return an object containing these values.