Class CombinedDomainCategoryPlot

    • Field Detail

      • serialVersionUID

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

        private java.util.List subplots
        Storage for the subplot references.
      • gap

        private double gap
        The gap between subplots.
      • subplotAreas

        private transient java.awt.geom.Rectangle2D[] subplotAreas
        Temporary storage for the subplot areas.
    • Constructor Detail

      • CombinedDomainCategoryPlot

        public CombinedDomainCategoryPlot()
        Default constructor.
      • CombinedDomainCategoryPlot

        public CombinedDomainCategoryPlot​(CategoryAxis domainAxis)
        Creates a new plot.
        Parameters:
        domainAxis - the shared domain axis (null not permitted).
    • Method Detail

      • getGap

        public double getGap()
        Returns the space between subplots. The default value is 5.0.
        Returns:
        The gap (in Java2D units).
        See Also:
        setGap(double)
      • setGap

        public void setGap​(double gap)
        Sets the amount of space between subplots and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        gap - the gap between subplots (in Java2D units).
        See Also:
        getGap()
      • add

        public void add​(CategoryPlot subplot)
        Adds a subplot to the combined chart and sends a PlotChangeEvent to all registered listeners.

        The domain axis for the subplot will be set to null. You must ensure that the subplot has a non-null range axis.
        Parameters:
        subplot - the subplot (null not permitted).
      • add

        public void add​(CategoryPlot subplot,
                        int weight)
        Adds a subplot to the combined chart and sends a PlotChangeEvent to all registered listeners.

        The domain axis for the subplot will be set to null. You must ensure that the subplot has a non-null range axis.
        Parameters:
        subplot - the subplot (null not permitted).
        weight - the weight (must be >= 1).
      • remove

        public void remove​(CategoryPlot subplot)
        Removes a subplot from the combined chart. Potentially, this removes some unique categories from the overall union of the datasets...so the domain axis is reconfigured, then a PlotChangeEvent is sent to all registered listeners.
        Parameters:
        subplot - the subplot (null not permitted).
      • getSubplots

        public java.util.List getSubplots()
        Returns the list of subplots. The returned list may be empty, but is never null.
        Returns:
        An unmodifiable list of subplots.
      • findSubplot

        public CategoryPlot findSubplot​(PlotRenderingInfo info,
                                        java.awt.geom.Point2D source)
        Returns the subplot (if any) that contains the (x, y) point (specified in Java2D space).
        Parameters:
        info - the chart rendering info (null not permitted).
        source - the source point (null not permitted).
        Returns:
        A subplot (possibly null).
      • calculateAxisSpace

        protected AxisSpace calculateAxisSpace​(java.awt.Graphics2D g2,
                                               java.awt.geom.Rectangle2D plotArea)
        Calculates the space required for the axes.
        Overrides:
        calculateAxisSpace in class CategoryPlot
        Parameters:
        g2 - the graphics device.
        plotArea - the plot area.
        Returns:
        The space required for the axes.
      • 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). Will perform all the placement calculations for each of the sub-plots and then tell these to draw themselves.
        Overrides:
        draw in class CategoryPlot
        Parameters:
        g2 - the graphics device.
        area - the area within which the plot (including axis labels) should be drawn.
        anchor - the anchor point (null permitted).
        parentState - the state from the parent plot, if there is one.
        info - collects information about the drawing (null permitted).
      • setFixedRangeAxisSpaceForSubplots

        protected void setFixedRangeAxisSpaceForSubplots​(AxisSpace space)
        Sets the size (width or height, depending on the orientation of the plot) for the range axis of each subplot.
        Parameters:
        space - the space (null permitted).
      • setShadowGenerator

        public void setShadowGenerator​(ShadowGenerator generator)
        Sets the shadow generator for the plot (and all subplots) and sends a PlotChangeEvent to all registered listeners.
        Overrides:
        setShadowGenerator in class CategoryPlot
        Parameters:
        generator - the new generator (null permitted).
      • getDataRange

        public Range getDataRange​(ValueAxis axis)
        Returns a range representing the extent of the data values in this plot (obtained from the subplots) that will be rendered against the specified axis. NOTE: This method is intended for internal JFreeChart use, and is public only so that code in the axis classes can call it. Since, for this class, the domain axis is a CategoryAxis (not a ValueAxis) and subplots have independent range axes, the JFreeChart code will never call this method (although this is not checked/enforced).
        Specified by:
        getDataRange in interface ValueAxisPlot
        Overrides:
        getDataRange in class CategoryPlot
        Parameters:
        axis - the axis.
        Returns:
        The range.
      • getCategoriesForAxis

        public java.util.List getCategoriesForAxis​(CategoryAxis axis)
        Overridden to return the categories in the subplots.
        Overrides:
        getCategoriesForAxis in class CategoryPlot
        Parameters:
        axis - ignored.
        Returns:
        A list of the categories in the subplots.
      • handleClick

        public void handleClick​(int x,
                                int y,
                                PlotRenderingInfo info)
        Handles a 'click' on the plot.
        Overrides:
        handleClick in class CategoryPlot
        Parameters:
        x - x-coordinate of the click.
        y - y-coordinate of the click.
        info - information about the plot's dimensions.
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests the plot for equality with an arbitrary object.
        Overrides:
        equals in class CategoryPlot
        Parameters:
        obj - the object (null permitted).
        Returns:
        A boolean.
      • canEqual

        public boolean canEqual​(java.lang.Object other)
        Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.
        Overrides:
        canEqual in class CategoryPlot
        Parameters:
        other - Object
        Returns:
        true ONLY if the parameter is THIS class type
      • 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 CategoryPlot
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - this class will not throw this exception, but subclasses (if any) might.