Home > Class Reference > ENSLIB namespace > %ZEN.SVGComponent.pieChart

%ZEN.SVGComponent.pieChart

class %ZEN.SVGComponent.pieChart extends %ZEN.SVGComponent.chart

This is an SVG chart component that displays a pie chart.
The plotBy property specifies how the slices of the chart and their labels should be calculated.
The size of each slice is adjusted proportionally so that a complete circle is formed.
The colors of the slice is determined by the seriesColors property. If there are more slices than colors, then the colors are repeated.

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter DEFAULTAPPEARANCE = 2D;
Default appearance of this component.
parameter DEFAULTHOLESIZE = 0;
Default size of hole in center of the chart.

Properties (Including Private)

property holeSize as %ZEN.Datatype.float (MAXVAL = "0.9", MINVAL = 0) [ InitialExpression = ..#DEFAULTHOLESIZE ];
This controls whether a hole is displayed in the center of the pie chart, and if so, how big the hole is.
The value of this property is a percentange of the chart's radius along the x axis. If the size of the chart is changed, the size of the center hole will maintain its proportional size.
The value can range from 0 to 0.9. The default value is 0. Set this to 0.2 to display a "donut chart".
Property methods: holeSizeDisplayToLogical(), holeSizeGet(), holeSizeIsValid(), holeSizeLogicalToDisplay(), holeSizeLogicalToOdbc(), holeSizeNormalize(), holeSizeSet()
property labelRadius as %ZEN.Datatype.float (MAXVAL = 1.5, MINVAL = "0.5");
Position of labels as a multiple of the chart radius. The default is 1.1.
Property methods: labelRadiusDisplayToLogical(), labelRadiusGet(), labelRadiusIsValid(), labelRadiusLogicalToDisplay(), labelRadiusLogicalToOdbc(), labelRadiusNormalize(), labelRadiusSet()
property pieHeight as %ZEN.Datatype.float (MAXVAL = 1, MINVAL = 0) [ InitialExpression = 0.33 ];
For pie charts with appearance set to "3D", this controls the apparent height of 3D pie chart.
The value of this property is a percentange of the chart's radius along the x axis. If the size of the chart is changed, its depth will maintain its proportional size.
The value can range from 0 to 1. The default value is 0.33.
Property methods: pieHeightDisplayToLogical(), pieHeightGet(), pieHeightIsValid(), pieHeightLogicalToDisplay(), pieHeightLogicalToOdbc(), pieHeightNormalize(), pieHeightSet()
property pieScale as %ZEN.Datatype.float [ InitialExpression = 1.0 ];
Scaling factor used to compute size of pie within the chart.
The default scaling value is 1.0. A value larger than 1.0 makes the pie bigger relative to the chart's plot area; a value smaller than 1.0 makes the pie smaller.
Property methods: pieScaleDisplayToLogical(), pieScaleGet(), pieScaleIsValid(), pieScaleLogicalToDisplay(), pieScaleLogicalToOdbc(), pieScaleNormalize(), pieScaleSet()
property plotBy as %ZEN.Datatype.string (VALUELIST = ",auto,items,series,both") [ InitialExpression = "auto" ];
Specifies how the pie chart will plot its data.
  • "items" - plot a slice for every item within this chart's data. If there are multiple data series, each slice represents the total of each item summed across the data series.
    The labels for the slices are treated as Y axis labels: the onGetLabelY event handler is called to get the label values, or the labels are provided by a %ZEN.Auxiliary.dataController if present.
  • "series" - plot a slice for every data series within this chart's data. Each slice represents the total value of all items within each series.
    The labels for the slices are specified by the seriesNames property.
  • "both" - plot a slice for each item within each data series (that is, there will be seriesCount * seriesSize slices).
    The slices are labeled as items; the chart legend will display the series names.
  • "auto" - automatically select the appropriate way to display data based on how many data series and items are present.
Property methods: plotByDisplayToLogical(), plotByGet(), plotByIsValid(), plotByLogicalToDisplay(), plotByLogicalToOdbc(), plotByNormalize(), plotBySet()
property rotateBy as %ZEN.Datatype.float [ InitialExpression = 0 ];
If specified, rotate the pie chart by this amount (in degrees).
Property methods: rotateByDisplayToLogical(), rotateByGet(), rotateByIsValid(), rotateByLogicalToDisplay(), rotateByLogicalToOdbc(), rotateByNormalize(), rotateBySet()
property showPercentage as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, percentage values (rounded to nearest integer) are displayed as part of the label for each slice.
Property methods: showPercentageDisplayToLogical(), showPercentageGet(), showPercentageIsValid(), showPercentageLogicalToDisplay(), showPercentageLogicalToOdbc(), showPercentageLogicalToXSD(), showPercentageNormalize(), showPercentageSet(), showPercentageXSDToLogical()
property showValue as %ZEN.Datatype.boolean [ InitialExpression = 0 ];
If true, the item value is displayed as part of the label for each slice.
Property methods: showValueDisplayToLogical(), showValueGet(), showValueIsValid(), showValueLogicalToDisplay(), showValueLogicalToOdbc(), showValueLogicalToXSD(), showValueNormalize(), showValueSet(), showValueXSDToLogical()

Methods (Including Private)

clientmethod getChartElementStyle(series, item) [ Language = javascript ]
Return default style for slice element.
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).
clientmethod getLegendLabels() [ Language = javascript ]
Return an array of labels to display within the Legend box.
Override to get appropriate labels for Pie Chart.
clientmethod getPlotBy() [ Language = javascript ]
Determine the actual plot by method for this chart.
clientmethod hasAxes() [ Language = javascript ]
Indicates that this chart has no axes and associated grids
clientmethod hasMultiples() [ Language = javascript ]
Indicates that this chart supports "show multiples" mode.
clientmethod is3D() [ Language = javascript ]
Do not show 3-D plot area.
clientmethod mouseupHandler(evt) [ Language = javascript ]
Mouse up handler for frame.
clientmethod renderContents() [ Language = javascript ]
Client-side method to render control.
clientmethod renderSeries(group) [ Language = javascript ]
Draw data series for this chart. group is the SVG container for the chart components.