Module platform

Class CombinedDomainCategoryPlot

java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.CategoryPlot
org.jfree.chart.plot.CombinedDomainCategoryPlot
All Implemented Interfaces:
Disposable, Serializable, Cloneable, EventListener, AnnotationChangeListener, AxisChangeListener, MarkerChangeListener, PlotChangeListener, RendererChangeListener, LegendItemSource, Pannable, ValueAxisPlot, Zoomable, PublicCloneable, DatasetChangeListener

public class CombinedDomainCategoryPlot extends CategoryPlot implements PlotChangeListener
A combined category plot where the domain axis is shared.
See Also:
  • Constructor Details

    • CombinedDomainCategoryPlot

      public CombinedDomainCategoryPlot()
      Default constructor.
    • CombinedDomainCategoryPlot

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

    • getGap

      public double getGap()
      Returns the space between subplots. The default value is 5.0.
      Returns:
      The gap (in Java2D units).
      See Also:
    • 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:
    • 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 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, 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).
    • zoomRangeAxes

      public void zoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source)
      Multiplies the range on the range axis/axes by the specified factor.
      Specified by:
      zoomRangeAxes in interface Zoomable
      Overrides:
      zoomRangeAxes in class CategoryPlot
      Parameters:
      factor - the zoom factor.
      info - the plot rendering info (null not permitted).
      source - the source point (null not permitted).
      See Also:
    • zoomRangeAxes

      public void zoomRangeAxes(double factor, PlotRenderingInfo info, Point2D source, boolean useAnchor)
      Multiplies the range on the range axis/axes by the specified factor.
      Specified by:
      zoomRangeAxes in interface Zoomable
      Overrides:
      zoomRangeAxes in class CategoryPlot
      Parameters:
      factor - the zoom factor.
      info - the plot rendering info (null not permitted).
      source - the source point (null not permitted).
      useAnchor - zoom about the anchor point?
      See Also:
    • zoomRangeAxes

      public void zoomRangeAxes(double lowerPercent, double upperPercent, PlotRenderingInfo info, Point2D source)
      Zooms in on the range axes.
      Specified by:
      zoomRangeAxes in interface Zoomable
      Overrides:
      zoomRangeAxes in class CategoryPlot
      Parameters:
      lowerPercent - the lower bound.
      upperPercent - the upper bound.
      info - the plot rendering info (null not permitted).
      source - the source point (null not permitted).
      See Also:
    • calculateAxisSpace

      protected AxisSpace calculateAxisSpace(Graphics2D g2, 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(Graphics2D g2, Rectangle2D area, 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).
    • setOrientation

      public void setOrientation(PlotOrientation orientation)
      Sets the orientation of the plot (and all subplots).
      Overrides:
      setOrientation in class CategoryPlot
      Parameters:
      orientation - the orientation (null not permitted).
      See Also:
    • 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.
    • getLegendItems

      public LegendItemCollection getLegendItems()
      Returns a collection of legend items for the plot.
      Specified by:
      getLegendItems in interface LegendItemSource
      Overrides:
      getLegendItems in class CategoryPlot
      Returns:
      The legend items.
    • getCategories

      public List getCategories()
      Returns an unmodifiable list of the categories contained in all the subplots.
      Overrides:
      getCategories in class CategoryPlot
      Returns:
      The list.
      See Also:
    • getCategoriesForAxis

      public 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.
    • plotChanged

      public void plotChanged(PlotChangeEvent event)
      Receives a PlotChangeEvent and responds by notifying all listeners.
      Specified by:
      plotChanged in interface PlotChangeListener
      Parameters:
      event - the event.
    • equals

      public boolean equals(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.
    • clone

      public Object clone() throws CloneNotSupportedException
      Returns a clone of the plot.
      Specified by:
      clone in interface PublicCloneable
      Overrides:
      clone in class CategoryPlot
      Returns:
      A clone.
      Throws:
      CloneNotSupportedException - this class will not throw this exception, but subclasses (if any) might.