Skip to main content


deprecated class %ZEN.Report.Display.COSChart.cpieChart extends %ZEN.Report.Display.COSChart.cchart

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

Method Inventory


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


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()


method getChartElementStyle(series, item)
Return default style for slice element.
method getLegendLabels()
Return an array of labels to display within the Legend box.
Override to get appropriate labels for Pie Chart.
method getPlotBy()
Determine the actual plot by method for this chart.
method hasAxes()
Indicates that this chart has no axes and associated grids
method hasMultiples()
Indicates that this chart supports "show multiples" mode.
method is3D()
Do not show 3-D plot area.
method renderSeries(group)
Draw data series for this chart. group is the SVG container for the chart components.

Inherited Members

Inherited Properties

Inherited Methods

FeedbackOpens in a new tab