Class MultiplePiePlot

    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • pieChart

        private JFreeChart pieChart
        The chart object that draws the individual pie charts.
      • dataExtractOrder

        private TableOrder dataExtractOrder
        The data extract order (by row or by column).
      • limit

        private double limit
        The pie section limit percentage.
      • aggregatedItemsKey

        private java.lang.Comparable aggregatedItemsKey
        The key for the aggregated items.
      • aggregatedItemsPaint

        private transient java.awt.Paint aggregatedItemsPaint
        The paint for the aggregated items.
      • sectionPaints

        private transient java.util.Map sectionPaints
        The colors to use for each section.
      • legendItemShape

        private transient java.awt.Shape legendItemShape
        The legend item shape (never null).
    • Constructor Detail

      • MultiplePiePlot

        public MultiplePiePlot()
        Creates a new plot with no data.
      • MultiplePiePlot

        public MultiplePiePlot​(CategoryDataset dataset)
        Creates a new plot.
        Parameters:
        dataset - the dataset (null permitted).
    • Method Detail

      • getDataset

        public CategoryDataset getDataset()
        Returns the dataset used by the plot.
        Returns:
        The dataset (possibly null).
      • setDataset

        public void setDataset​(CategoryDataset dataset)
        Sets the dataset used by the plot and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        dataset - the dataset (null permitted).
      • getPieChart

        public JFreeChart getPieChart()
        Returns the pie chart that is used to draw the individual pie plots. Note that there are some attributes on this chart instance that will be ignored at rendering time (for example, legend item settings).
        Returns:
        The pie chart (never null).
        See Also:
        setPieChart(JFreeChart)
      • setPieChart

        public void setPieChart​(JFreeChart pieChart)
        Sets the chart that is used to draw the individual pie plots. The chart's plot must be an instance of PiePlot.
        Parameters:
        pieChart - the pie chart (null not permitted).
        See Also:
        getPieChart()
      • getDataExtractOrder

        public TableOrder getDataExtractOrder()
        Returns the data extract order (by row or by column).
        Returns:
        The data extract order (never null).
      • setDataExtractOrder

        public void setDataExtractOrder​(TableOrder order)
        Sets the data extract order (by row or by column) and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        order - the order (null not permitted).
      • getLimit

        public double getLimit()
        Returns the limit (as a percentage) below which small pie sections are aggregated.
        Returns:
        The limit percentage.
      • setLimit

        public void setLimit​(double limit)
        Sets the limit below which pie sections are aggregated. Set this to 0.0 if you don't want any aggregation to occur.
        Parameters:
        limit - the limit percent.
      • getAggregatedItemsKey

        public java.lang.Comparable getAggregatedItemsKey()
        Returns the key for aggregated items in the pie plots, if there are any. The default value is "Other".
        Returns:
        The aggregated items key.
      • setAggregatedItemsKey

        public void setAggregatedItemsKey​(java.lang.Comparable key)
        Sets the key for aggregated items in the pie plots. You must ensure that this doesn't clash with any keys in the dataset.
        Parameters:
        key - the key (null not permitted).
      • getAggregatedItemsPaint

        public java.awt.Paint getAggregatedItemsPaint()
        Returns the paint used to draw the pie section representing the aggregated items. The default value is {code Color.LIGHT_GRAY}.
        Returns:
        The paint.
      • setAggregatedItemsPaint

        public void setAggregatedItemsPaint​(java.awt.Paint paint)
        Sets the paint used to draw the pie section representing the aggregated items and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
      • getPlotType

        public java.lang.String getPlotType()
        Returns a short string describing the type of plot.
        Specified by:
        getPlotType in class Plot
        Returns:
        The plot type.
      • getLegendItemShape

        public java.awt.Shape getLegendItemShape()
        Returns the shape used for legend items.
        Returns:
        The shape (never null).
        See Also:
        setLegendItemShape(Shape)
      • setLegendItemShape

        public void setLegendItemShape​(java.awt.Shape shape)
        Sets the shape used for legend items and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        shape - the shape (null not permitted).
        See Also:
        getLegendItemShape()
      • draw

        public void draw​(java.awt.Graphics2D g2,
                         java.awt.geom.Rectangle2D area,
                         java.awt.geom.Point2D anchor,
                         PlotState parentState,
                         PlotRenderingInfo info)
        Draws the plot on a Java 2D graphics device (such as the screen or a printer).
        Specified by:
        draw in class Plot
        Parameters:
        g2 - the graphics device.
        area - the area within which the plot should be drawn.
        anchor - the anchor point (null permitted).
        parentState - the state from the parent plot, if there is one.
        info - collects info about the drawing.
      • prefetchSectionPaints

        private void prefetchSectionPaints()
        For each key in the dataset, check the sectionPaints cache to see if a paint is associated with that key and, if not, fetch one from the drawing supplier. These colors are cached so that the legend and all the subplots use consistent colors.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this plot for equality with an arbitrary object. Note that the plot's dataset is not considered in the equality test.
        Overrides:
        equals in class Plot
        Parameters:
        obj - the object (null permitted).
        Returns:
        true if this plot is equal to obj, and false otherwise.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of the plot.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class Plot
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if some component of the plot does not support cloning.
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream stream)
                          throws java.io.IOException
        Provides serialization support.
        Parameters:
        stream - the output stream.
        Throws:
        java.io.IOException - if there is an I/O error.
      • readObject

        private void readObject​(java.io.ObjectInputStream stream)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Provides serialization support.
        Parameters:
        stream - the input stream.
        Throws:
        java.io.IOException - if there is an I/O error.
        java.lang.ClassNotFoundException - if there is a classpath problem.