Class PiePlot

  • All Implemented Interfaces:
    ChartPlot, java.io.Serializable
    Direct Known Subclasses:
    MultiplePiePlot

    public class PiePlot
    extends AbstractPlot
    A general class for plotting data of groups of values. This plot can use data from any class that implements the BaseDataset interface.
    Since:
    8.0
    See Also:
    Serialized Form
    • Field Detail

      • DEFAULT_STYLE

        public static final PieStyle DEFAULT_STYLE
        Default chart style with this plot.
      • DEFAULT_ROTATION_ANGLE

        public static final double DEFAULT_ROTATION_ANGLE
        The default rotating angle.
        See Also:
        Constant Field Values
      • DEFAULT_ITEM_LABEL_GAP

        public static final double DEFAULT_ITEM_LABEL_GAP
        The default gap of the item labels.
        See Also:
        Constant Field Values
      • DEFAULT_ITEM_LABEL_BACKGROUND_COLOR

        public static final int DEFAULT_ITEM_LABEL_BACKGROUND_COLOR
        The default background color of the item label.
      • DEFAULT_ITEM_LABEL_OUTLINE_COLOR

        public static final int DEFAULT_ITEM_LABEL_OUTLINE_COLOR
        The default outline color of the item label.
        See Also:
        Constant Field Values
      • DEFAULT_ITEM_LABEL_OUTLINE_STYLE

        public static final int DEFAULT_ITEM_LABEL_OUTLINE_STYLE
        The default outline style of the item label.
        See Also:
        Constant Field Values
      • DEFAULT_ITEM_LABEL_OUTLINE_WIDTH

        public static final int DEFAULT_ITEM_LABEL_OUTLINE_WIDTH
        The default outline width of the item label.
        See Also:
        Constant Field Values
      • DEFAULT_EXPAND_PERCENT

        public static final double DEFAULT_EXPAND_PERCENT
        The default expand percent.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PiePlot

        public PiePlot()
        Creates a pie plot with default properties.
        Since:
        8.0
      • PiePlot

        public PiePlot​(PieStyle style)
        Creates a pie plot with defined chart style. Initializes all properties with default values.
        Parameters:
        style - the chart style (null not permitted)
        Since:
        8.0
        See Also:
        PieStyle
    • Method Detail

      • setStyle

        public void setStyle​(PieStyle style)
        Sets the chart style of this plot.
        Parameters:
        style - the style
        Since:
        8.0
        See Also:
        getStyle(), PieStyle
      • isIgnoreZeroValues

        public boolean isIgnoreZeroValues()
        Returns the flag that controls whether or not the null and zero values will be ignored. Default value of this property is false.
        Returns:
        the flag.
        Since:
        8.0
        See Also:
        setIgnoreZeroValues(boolean)
      • setIgnoreZeroValues

        public void setIgnoreZeroValues​(boolean ignoreZeroValues)
        Sets the flag that controls whether or not the null and zero values will be ignored. Default value of this property is false.
        Parameters:
        ignoreZeroValues - the flag
        Since:
        8.0
        See Also:
        isIgnoreZeroValues()
      • getRotationAngle

        public double getRotationAngle()
        Returns the rotation angle of pie. The pie is default rotated on clockwise 90 degrees.
        Returns:
        the rotation angle.
        Since:
        8.0
        See Also:
        setRotationAngle(double)
      • setRotationAngle

        public void setRotationAngle​(double rotationAngle)
        Sets the rotation angle of pie. The pie is default rotated on clockwise 90 degrees. The default value is DEFAULT_ROTATION_ANGLE
        Parameters:
        rotationAngle - the rotation angle
        Since:
        8.0
        See Also:
        getRotationAngle()
      • getItemLabelGap

        public double getItemLabelGap()
        Returns the gap between the pie and the item label. The value of gap is a percentage of the plot width.
        Returns:
        the gap
        Since:
        8.0
        See Also:
        setItemLabelGap(double)
      • setItemLabelGap

        public void setItemLabelGap​(double itemLabelGap)
        Sets the gap between the pie and the item label. The value of gap is a percentage of the plot width. The default value is DEFAULT_ITEM_LABEL_GAP.
        Parameters:
        itemLabelGap - the item label gap
        Throws:
        java.lang.IllegalArgumentException - if the gap is a negative value.
        Since:
        8.0
        See Also:
        getItemLabelGap()
      • isDrawItemLabelOutline

        public boolean isDrawItemLabelOutline()
        Returns whether or not to draw the item label outline.
        Returns:
        true the outline is to be drawn.
        Since:
        8.0
        See Also:
        setDrawItemLabelOutline(boolean)
      • setDrawItemLabelOutline

        public void setDrawItemLabelOutline​(boolean drawOutline)
        Sets whether or not to draw the item label outline.
        Parameters:
        drawOutline - true if outline is to be drawn.
        Since:
        8.0
        See Also:
        isDrawItemLabelOutline()
      • getItemLabelBackColor

        public int getItemLabelBackColor()
        Returns the ABGR value representing the background color of item labels .
        Returns:
        the background color.
        Since:
        8.0
        See Also:
        setItemLabelBackColor(int), ColorUtils.toJavaColor(int)
      • setItemLabelBackColor

        public void setItemLabelBackColor​(int backgroundColor)
        Sets the ABGR value representing the background color of item labels.
        Parameters:
        backgroundColor - the background color
        Since:
        8.0
        See Also:
        getItemLabelBackColor(), ColorUtils.toCcColor(Color)
      • getItemLabelOutlineColor

        public int getItemLabelOutlineColor()
        Returns the ABGR value representing the legend outline color.
        Returns:
        the legend outline color.
        Since:
        8.0
        See Also:
        AbstractPlot.setOutlineColor(int), ColorUtils.toJavaColor(int)
      • setItemLabelOutlineColor

        public void setItemLabelOutlineColor​(int outlineColor)
        Sets the ABGR components of the legend outline color.
        Parameters:
        outlineColor - a color
        Throws:
        java.lang.IllegalArgumentException - if the color is RDC.COLOR_NO_COLOR.
        Since:
        8.0
        See Also:
        AbstractPlot.getOutlineColor(), ColorUtils.toCcColor(Color)
      • getItemLabelOutlineStyle

        public int getItemLabelOutlineStyle()
        Returns the border line style of item labels.
        Returns:
        outline style.
        Since:
        8.0
        See Also:
        setItemLabelOutlineStyle(int)
      • setItemLabelOutlineStyle

        public void setItemLabelOutlineStyle​(int itemLabelOutlineStyle)
        Sets the border line style of item labels.
        Parameters:
        itemLabelOutlineStyle - a outline style
        Throws:
        java.lang.IllegalArgumentException - by unsupported line style.
        Since:
        8.0
        See Also:
        getItemLabelOutlineStyle(), BorderPropertiesConstants.LINE_STYLE_DASHED, BorderPropertiesConstants.LINE_STYLE_DOTTED, BorderPropertiesConstants.LINE_STYLE_SINGLE, BorderPropertiesConstants.NO_LINE
      • getItemLabelOutlineWidth

        public int getItemLabelOutlineWidth()
        Returns the outline width of item labels.
        Returns:
        the outline width in twips.
        Since:
        8.0
        See Also:
        setItemLabelOutlineWidth(int)
      • setItemLabelOutlineWidth

        public void setItemLabelOutlineWidth​(int itemLabelOutlineWidth)
        Sets the item labels outline width in twips.
        Parameters:
        itemLabelOutlineWidth - the outline width
        Throws:
        java.lang.IllegalArgumentException - if width is less than 1.
        Since:
        8.0
        See Also:
        getItemLabelOutlineWidth()
      • setLegendLayout

        public void setLegendLayout​(PieLegendLayout legendLayout)
        Sets the legend layout. A legend can show section names, data values and percentage of values.
        Parameters:
        legendLayout - a legend layout (null not permitted)
        Since:
        8.0
        See Also:
        getLegendLayout(), PieLegendLayout
      • getSectionIndexes

        public int[] getSectionIndexes()
        Returns the sections indexes which will be expanded.
        Returns:
        the array of indexes.
        Since:
        8.0
        See Also:
        setSectionIndexes(int[])
      • setSectionIndexes

        public void setSectionIndexes​(int[] sectionIndexes)
        Sets the sections indexes which will be expanded. This function define the sections of pie which are detached. The value of the detach distance you can set with setExpandPercent(double). The array of indexes is 0 based.
        Parameters:
        sectionIndexes - the array of sections indexes (null not permitted)
        Throws:
        java.lang.IllegalArgumentException - if the array is null.
        Since:
        8.0
        See Also:
        getSectionIndexes(), setExpandPercent(double)
      • setExpandPercent

        public void setExpandPercent​(double expandPercent)
        Sets the detach percentage of sections selected with setSectionIndexes(int[]).
        Parameters:
        expandPercent - the expand percentage (0.30 = 30 percent)
        Throws:
        java.lang.IllegalArgumentException - if the percent is a negative value.
        Since:
        8.0
        See Also:
        getExpandPercent(), setSectionIndexes(int[])
      • refreshAutoTitles

        public void refreshAutoTitles​(Chart2 chart)
        Reads out the data column names from dataset and refreshes the chart labels. Please use this function to refresh the chart labels if the data was be changed.
        Specified by:
        refreshAutoTitles in interface ChartPlot
        Specified by:
        refreshAutoTitles in class AbstractPlot
        Parameters:
        chart - the chart
      • getSubProperties

        protected java.lang.StringBuilder getSubProperties​(int depth)
        Returns the serialized simple properties of subclasses.
        Overrides:
        getSubProperties in class AbstractPlot
        Parameters:
        depth - the depth of XML indent
        Returns:
        the properties.
      • saveSubProperties

        protected void saveSubProperties​(java.io.PrintWriter out,
                                         int depth)
        Writes the intern properties to output. Overwrites this to save intern properties direct to PrintWriter without building a StringBuilder.
        Overrides:
        saveSubProperties in class AbstractPlot
        Parameters:
        out - the output
        depth - the depth of XML indent
      • readProperties

        public void readProperties​(org.w3c.dom.Element element,
                                   Chart2 chart)
        Reads the chart properties from the DOMParser Element.
        Specified by:
        readProperties in interface ChartPlot
        Overrides:
        readProperties in class AbstractPlot
        Parameters:
        element - the DOMParser Element
        chart - the chart
      • readDataset

        protected void readDataset​(org.w3c.dom.Element element,
                                   Chart2 chart)
        Reads the dataset properties from DOM element.
        Parameters:
        element - the DOM element
        chart - the chart
        Since:
        8.0