Class CategoryPlot

    • Constructor Detail

      • CategoryPlot

        public CategoryPlot​(CategoryDataset dataset,
                            CategoryAxis domainAxis,
                            ValueAxis rangeAxis,
                            CategoryItemRenderer renderer)
        Creates a new plot.
        Parameters:
        dataset - the dataset (null permitted).
        domainAxis - the domain axis (null permitted).
        rangeAxis - the range axis (null permitted).
        renderer - the item renderer (null permitted).
    • Method Detail

      • getPlotType

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

        public void setAxisOffset​(org.jfree.ui.RectangleInsets offset)
        Sets the axis offsets (gap between the data area and the axes) and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        offset - the offset (null not permitted).
        See Also:
        getAxisOffset()
      • getDomainAxis

        public CategoryAxis getDomainAxis()
        Returns the domain axis for the plot. If the domain axis for this plot is null, then the method will return the parent plot's domain axis (if there is a parent plot).
        Returns:
        The domain axis (null permitted).
        See Also:
        setDomainAxis(CategoryAxis)
      • setDomainAxis

        public void setDomainAxis​(int index,
                                  CategoryAxis axis,
                                  boolean notify)
        Sets a domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the axis index.
        axis - the axis (null permitted).
        notify - notify listeners?
      • setDomainAxisLocation

        public void setDomainAxisLocation​(AxisLocation location,
                                          boolean notify)
        Sets the location of the domain axis and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        location - the axis location (null not permitted).
        notify - a flag that controls whether listeners are notified.
      • getDomainAxisEdge

        public org.jfree.ui.RectangleEdge getDomainAxisEdge()
        Returns the domain axis edge. This is derived from the axis location and the plot orientation.
        Returns:
        The edge (never null).
      • getDomainAxisEdge

        public org.jfree.ui.RectangleEdge getDomainAxisEdge​(int index)
        Returns the edge for a domain axis.
        Parameters:
        index - the axis index.
        Returns:
        The edge (never null).
      • getDomainAxisCount

        public int getDomainAxisCount()
        Returns the number of domain axes.
        Returns:
        The axis count.
      • getRangeAxis

        public ValueAxis getRangeAxis()
        Returns the range axis for the plot. If the range axis for this plot is null, then the method will return the parent plot's range axis (if there is a parent plot).
        Returns:
        The range axis (possibly null).
      • getRangeAxis

        public ValueAxis getRangeAxis​(int index)
        Returns a range axis.
        Parameters:
        index - the axis index.
        Returns:
        The axis (null possible).
      • setRangeAxis

        public void setRangeAxis​(ValueAxis axis)
        Sets the range axis for the plot and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        axis - the axis (null permitted).
      • setRangeAxis

        public void setRangeAxis​(int index,
                                 ValueAxis axis)
        Sets a range axis and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the axis index.
        axis - the axis.
      • setRangeAxis

        public void setRangeAxis​(int index,
                                 ValueAxis axis,
                                 boolean notify)
        Sets a range axis and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the axis index.
        axis - the axis.
        notify - notify listeners?
      • getRangeAxisEdge

        public org.jfree.ui.RectangleEdge getRangeAxisEdge()
        Returns the edge where the primary range axis is located.
        Returns:
        The edge (never null).
      • getRangeAxisEdge

        public org.jfree.ui.RectangleEdge getRangeAxisEdge​(int index)
        Returns the edge for a range axis.
        Parameters:
        index - the axis index.
        Returns:
        The edge.
      • getRangeAxisCount

        public int getRangeAxisCount()
        Returns the number of range axes.
        Returns:
        The axis count.
      • setDataset

        public void setDataset​(int index,
                               CategoryDataset dataset)
        Sets a dataset for the plot and sends a change notification to all registered listeners.
        Parameters:
        index - the dataset index (must be >= 0).
        dataset - the dataset (null permitted).
        See Also:
        getDataset(int)
      • getDatasetCount

        public int getDatasetCount()
        Returns the number of datasets.
        Returns:
        The number of datasets.
        Since:
        1.0.2
      • indexOf

        public int indexOf​(CategoryDataset dataset)
        Returns the index of the specified dataset, or -1 if the dataset does not belong to the plot.
        Parameters:
        dataset - the dataset (null not permitted).
        Returns:
        The index.
        Since:
        1.0.11
      • mapDatasetToDomainAxis

        public void mapDatasetToDomainAxis​(int index,
                                           int axisIndex)
        Maps a dataset to a particular domain axis.
        Parameters:
        index - the dataset index (zero-based).
        axisIndex - the axis index (zero-based).
        See Also:
        getDomainAxisForDataset(int)
      • mapDatasetToDomainAxes

        public void mapDatasetToDomainAxes​(int index,
                                           java.util.List axisIndices)
        Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.
        Parameters:
        index - the dataset index (zero-based).
        axisIndices - the axis indices (null permitted).
        Since:
        1.0.12
      • mapDatasetToRangeAxis

        public void mapDatasetToRangeAxis​(int index,
                                          int axisIndex)
        Maps a dataset to a particular range axis.
        Parameters:
        index - the dataset index (zero-based).
        axisIndex - the axis index (zero-based).
        See Also:
        getRangeAxisForDataset(int)
      • mapDatasetToRangeAxes

        public void mapDatasetToRangeAxes​(int index,
                                          java.util.List axisIndices)
        Maps the specified dataset to the axes in the list. Note that the conversion of data values into Java2D space is always performed using the first axis in the list.
        Parameters:
        index - the dataset index (zero-based).
        axisIndices - the axis indices (null permitted).
        Since:
        1.0.12
      • getRendererCount

        public int getRendererCount()
        Returns the number of renderer slots for this plot.
        Returns:
        The number of renderer slots.
        Since:
        1.0.11
      • setRenderer

        public void setRenderer​(CategoryItemRenderer renderer)
        Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and sends a change event to all registered listeners.
        Parameters:
        renderer - the renderer (null permitted.
        See Also:
        getRenderer()
      • setRenderer

        public void setRenderer​(CategoryItemRenderer renderer,
                                boolean notify)
        Sets the renderer at index 0 (sometimes referred to as the "primary" renderer) and, if requested, sends a change event to all registered listeners.

        You can set the renderer to null, but this is not recommended because:

        • no data will be displayed;
        • the plot background will not be painted;
        Parameters:
        renderer - the renderer (null permitted).
        notify - notify listeners?
        See Also:
        getRenderer()
      • setRenderer

        public void setRenderer​(int index,
                                CategoryItemRenderer renderer,
                                boolean notify)
        Sets the renderer to use for the dataset with the specified index and, if requested, sends a change event to all registered listeners. Note that each dataset should have its own renderer, you should not use one renderer for multiple datasets.
        Parameters:
        index - the index.
        renderer - the renderer (null permitted).
        notify - notify listeners?
        See Also:
        getRenderer(int)
      • getRendererForDataset

        public CategoryItemRenderer getRendererForDataset​(CategoryDataset dataset)
        Returns the renderer for the specified dataset. If the dataset doesn't belong to the plot, this method will return null.
        Parameters:
        dataset - the dataset (null permitted).
        Returns:
        The renderer (possibly null).
      • getIndexOf

        public int getIndexOf​(CategoryItemRenderer renderer)
        Returns the index of the specified renderer, or -1 if the renderer is not assigned to this plot.
        Parameters:
        renderer - the renderer (null permitted).
        Returns:
        The renderer index.
      • setDatasetRenderingOrder

        public void setDatasetRenderingOrder​(DatasetRenderingOrder order)
        Sets the rendering order and sends a PlotChangeEvent to all registered listeners. By default, the plot renders the primary dataset last (so that the primary dataset overlays the secondary datasets). You can reverse this if you want to.
        Parameters:
        order - the rendering order (null not permitted).
        See Also:
        getDatasetRenderingOrder()
      • setDomainGridlinesVisible

        public void setDomainGridlinesVisible​(boolean visible)
        Sets the flag that controls whether or not grid-lines are drawn against the domain axis.

        If the flag value changes, a PlotChangeEvent is sent to all registered listeners.

        Parameters:
        visible - the new value of the flag.
        See Also:
        isDomainGridlinesVisible()
      • setDomainGridlinePaint

        public void setDomainGridlinePaint​(java.awt.Paint paint)
        Sets the paint used to draw the grid-lines (if any) against the domain axis and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        paint - the paint (null not permitted).
        See Also:
        getDomainGridlinePaint()
      • setRangeGridlinesVisible

        public void setRangeGridlinesVisible​(boolean visible)
        Sets the flag that controls whether or not grid-lines are drawn against the range axis. If the flag changes value, a PlotChangeEvent is sent to all registered listeners.
        Parameters:
        visible - the new value of the flag.
        See Also:
        isRangeGridlinesVisible()
      • setRangeMinorGridlinesVisible

        public void setRangeMinorGridlinesVisible​(boolean visible)
        Sets the flag that controls whether or not the range axis minor grid lines are visible.

        If the flag value is changed, a PlotChangeEvent is sent to all registered listeners.

        Parameters:
        visible - the new value of the flag.
        Since:
        1.0.13
        See Also:
        isRangeMinorGridlinesVisible()
      • handleClick

        public void handleClick​(int x,
                                int y,
                                PlotRenderingInfo info)
        Handles a 'click' on the plot by updating the anchor value.
        Overrides:
        handleClick in class Plot
        Parameters:
        x - x-coordinate of the click (in Java2D space).
        y - y-coordinate of the click (in Java2D space).
        info - information about the plot's dimensions.
      • zoom

        public void zoom​(double percent)
        Zooms (in or out) on the plot's value axis.

        If the value 0.0 is passed in as the zoom percent, the auto-range calculation for the axis is restored (which sets the range to include the minimum and maximum data values, thus displaying all the data).

        Overrides:
        zoom in class Plot
        Parameters:
        percent - the zoom amount.
      • addDomainMarker

        public void addDomainMarker​(CategoryMarker marker)
        Adds a marker for display (in the foreground) against the domain axis and sends a PlotChangeEvent to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis, however this is entirely up to the renderer.
        Parameters:
        marker - the marker (null not permitted).
        See Also:
        removeDomainMarker(Marker)
      • addDomainMarker

        public void addDomainMarker​(CategoryMarker marker,
                                    org.jfree.ui.Layer layer)
        Adds a marker for display against the domain axis and sends a PlotChangeEvent to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the domain axis, however this is entirely up to the renderer.
        Parameters:
        marker - the marker (null not permitted).
        layer - the layer (foreground or background) (null not permitted).
        See Also:
        removeDomainMarker(Marker, Layer)
      • addDomainMarker

        public void addDomainMarker​(int index,
                                    CategoryMarker marker,
                                    org.jfree.ui.Layer layer)
        Adds a marker for display by a particular renderer and sends a PlotChangeEvent to all registered listeners.

        Typically a marker will be drawn by the renderer as a line perpendicular to a domain axis, however this is entirely up to the renderer.

        Parameters:
        index - the renderer index.
        marker - the marker (null not permitted).
        layer - the layer (null not permitted).
        See Also:
        removeDomainMarker(int, Marker, Layer)
      • addDomainMarker

        public void addDomainMarker​(int index,
                                    CategoryMarker marker,
                                    org.jfree.ui.Layer layer,
                                    boolean notify)
        Adds a marker for display by a particular renderer and, if requested, sends a PlotChangeEvent to all registered listeners.

        Typically a marker will be drawn by the renderer as a line perpendicular to a domain axis, however this is entirely up to the renderer.

        Parameters:
        index - the renderer index.
        marker - the marker (null not permitted).
        layer - the layer (null not permitted).
        notify - notify listeners?
        Since:
        1.0.10
        See Also:
        removeDomainMarker(int, Marker, Layer, boolean)
      • getDomainMarkers

        public java.util.Collection getDomainMarkers​(org.jfree.ui.Layer layer)
        Returns the list of domain markers (read only) for the specified layer.
        Parameters:
        layer - the layer (foreground or background).
        Returns:
        The list of domain markers.
      • getDomainMarkers

        public java.util.Collection getDomainMarkers​(int index,
                                                     org.jfree.ui.Layer layer)
        Returns a collection of domain markers for a particular renderer and layer.
        Parameters:
        index - the renderer index.
        layer - the layer.
        Returns:
        A collection of markers (possibly null).
      • removeDomainMarker

        public boolean removeDomainMarker​(Marker marker)
        Removes a marker for the domain axis and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        marker - the marker.
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
      • removeDomainMarker

        public boolean removeDomainMarker​(Marker marker,
                                          org.jfree.ui.Layer layer)
        Removes a marker for the domain axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        marker - the marker (null not permitted).
        layer - the layer (foreground or background).
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
      • removeDomainMarker

        public boolean removeDomainMarker​(int index,
                                          Marker marker,
                                          org.jfree.ui.Layer layer)
        Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the dataset/renderer index.
        marker - the marker.
        layer - the layer (foreground or background).
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
      • removeDomainMarker

        public boolean removeDomainMarker​(int index,
                                          Marker marker,
                                          org.jfree.ui.Layer layer,
                                          boolean notify)
        Removes a marker for a specific dataset/renderer and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the dataset/renderer index.
        marker - the marker.
        layer - the layer (foreground or background).
        notify - notify listeners?
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.10
      • addRangeMarker

        public void addRangeMarker​(Marker marker)
        Adds a marker for display (in the foreground) against the range axis and sends a PlotChangeEvent to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.
        Parameters:
        marker - the marker (null not permitted).
        See Also:
        removeRangeMarker(Marker)
      • addRangeMarker

        public void addRangeMarker​(Marker marker,
                                   org.jfree.ui.Layer layer)
        Adds a marker for display against the range axis and sends a PlotChangeEvent to all registered listeners. Typically a marker will be drawn by the renderer as a line perpendicular to the range axis, however this is entirely up to the renderer.
        Parameters:
        marker - the marker (null not permitted).
        layer - the layer (foreground or background) (null not permitted).
        See Also:
        removeRangeMarker(Marker, Layer)
      • addRangeMarker

        public void addRangeMarker​(int index,
                                   Marker marker,
                                   org.jfree.ui.Layer layer)
        Adds a marker for display by a particular renderer and sends a PlotChangeEvent to all registered listeners.

        Typically a marker will be drawn by the renderer as a line perpendicular to a range axis, however this is entirely up to the renderer.

        Parameters:
        index - the renderer index.
        marker - the marker.
        layer - the layer.
        See Also:
        removeRangeMarker(int, Marker, Layer)
      • addRangeMarker

        public void addRangeMarker​(int index,
                                   Marker marker,
                                   org.jfree.ui.Layer layer,
                                   boolean notify)
        Adds a marker for display by a particular renderer and sends a PlotChangeEvent to all registered listeners.

        Typically a marker will be drawn by the renderer as a line perpendicular to a range axis, however this is entirely up to the renderer.

        Parameters:
        index - the renderer index.
        marker - the marker.
        layer - the layer.
        notify - notify listeners?
        Since:
        1.0.10
        See Also:
        removeRangeMarker(int, Marker, Layer, boolean)
      • getRangeMarkers

        public java.util.Collection getRangeMarkers​(org.jfree.ui.Layer layer)
        Returns the list of range markers (read only) for the specified layer.
        Parameters:
        layer - the layer (foreground or background).
        Returns:
        The list of range markers.
        See Also:
        getRangeMarkers(int, Layer)
      • getRangeMarkers

        public java.util.Collection getRangeMarkers​(int index,
                                                    org.jfree.ui.Layer layer)
        Returns a collection of range markers for a particular renderer and layer.
        Parameters:
        index - the renderer index.
        layer - the layer.
        Returns:
        A collection of markers (possibly null).
      • removeRangeMarker

        public boolean removeRangeMarker​(Marker marker)
        Removes a marker for the range axis and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        marker - the marker.
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
        See Also:
        addRangeMarker(Marker)
      • removeRangeMarker

        public boolean removeRangeMarker​(Marker marker,
                                         org.jfree.ui.Layer layer)
        Removes a marker for the range axis in the specified layer and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        marker - the marker (null not permitted).
        layer - the layer (foreground or background).
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
        See Also:
        addRangeMarker(Marker, Layer)
      • removeRangeMarker

        public boolean removeRangeMarker​(int index,
                                         Marker marker,
                                         org.jfree.ui.Layer layer)
        Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the dataset/renderer index.
        marker - the marker.
        layer - the layer (foreground or background).
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.7
        See Also:
        addRangeMarker(int, Marker, Layer)
      • removeRangeMarker

        public boolean removeRangeMarker​(int index,
                                         Marker marker,
                                         org.jfree.ui.Layer layer,
                                         boolean notify)
        Removes a marker for a specific dataset/renderer and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the dataset/renderer index.
        marker - the marker.
        layer - the layer (foreground or background).
        notify - notify listeners.
        Returns:
        A boolean indicating whether or not the marker was actually removed.
        Since:
        1.0.10
        See Also:
        addRangeMarker(int, Marker, Layer, boolean)
      • getDomainCrosshairRowKey

        public java.lang.Comparable getDomainCrosshairRowKey()
        Returns the row key for the domain crosshair.
        Returns:
        The row key.
        Since:
        1.0.11
      • setDomainCrosshairRowKey

        public void setDomainCrosshairRowKey​(java.lang.Comparable key)
        Sets the row key for the domain crosshair and sends a {PlotChangeEvent} to all registered listeners.
        Parameters:
        key - the key.
        Since:
        1.0.11
      • setDomainCrosshairRowKey

        public void setDomainCrosshairRowKey​(java.lang.Comparable key,
                                             boolean notify)
        Sets the row key for the domain crosshair and, if requested, sends a {PlotChangeEvent} to all registered listeners.
        Parameters:
        key - the key.
        notify - notify listeners?
        Since:
        1.0.11
      • getDomainCrosshairColumnKey

        public java.lang.Comparable getDomainCrosshairColumnKey()
        Returns the column key for the domain crosshair.
        Returns:
        The column key.
        Since:
        1.0.11
      • setDomainCrosshairColumnKey

        public void setDomainCrosshairColumnKey​(java.lang.Comparable key)
        Sets the column key for the domain crosshair and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        key - the key.
        Since:
        1.0.11
      • setDomainCrosshairColumnKey

        public void setDomainCrosshairColumnKey​(java.lang.Comparable key,
                                                boolean notify)
        Sets the column key for the domain crosshair and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        key - the key.
        notify - notify listeners?
        Since:
        1.0.11
      • getCrosshairDatasetIndex

        public int getCrosshairDatasetIndex()
        Returns the dataset index for the crosshair.
        Returns:
        The dataset index.
        Since:
        1.0.11
      • setCrosshairDatasetIndex

        public void setCrosshairDatasetIndex​(int index)
        Sets the dataset index for the crosshair and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the index.
        Since:
        1.0.11
      • setCrosshairDatasetIndex

        public void setCrosshairDatasetIndex​(int index,
                                             boolean notify)
        Sets the dataset index for the crosshair and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        index - the index.
        notify - notify listeners?
        Since:
        1.0.11
      • setDomainCrosshairPaint

        public void setDomainCrosshairPaint​(java.awt.Paint paint)
        Sets the paint used to draw the domain crosshair.
        Parameters:
        paint - the paint (null not permitted).
        Since:
        1.0.11
        See Also:
        getDomainCrosshairPaint()
      • setRangeCrosshairValue

        public void setRangeCrosshairValue​(double value,
                                           boolean notify)
        Sets the range crosshair value and, if requested, sends a PlotChangeEvent to all registered listeners (but only if the crosshair is visible).
        Parameters:
        value - the new value.
        notify - a flag that controls whether or not listeners are notified.
        See Also:
        getRangeCrosshairValue()
      • setRangeCrosshairStroke

        public void setRangeCrosshairStroke​(java.awt.Stroke stroke)
        Sets the pen-style (Stroke) used to draw the range crosshair (if visible), and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        stroke - the new crosshair stroke (null not permitted).
        See Also:
        getRangeCrosshairStroke()
      • addAnnotation

        public void addAnnotation​(CategoryAnnotation annotation,
                                  boolean notify)
        Adds an annotation to the plot and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        annotation - the annotation (null not permitted).
        notify - notify listeners?
        Since:
        1.0.10
      • removeAnnotation

        public boolean removeAnnotation​(CategoryAnnotation annotation,
                                        boolean notify)
        Removes an annotation from the plot and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        annotation - the annotation (null not permitted).
        notify - notify listeners?
        Returns:
        A boolean (indicates whether or not the annotation was removed).
        Since:
        1.0.10
      • getShadowGenerator

        public ShadowGenerator getShadowGenerator()
        Returns the shadow generator for the plot, if any.
        Returns:
        The shadow generator (possibly null).
        Since:
        1.0.14
      • setShadowGenerator

        public void setShadowGenerator​(ShadowGenerator generator)
        Sets the shadow generator for the plot and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        generator - the generator (null permitted).
        Since:
        1.0.14
      • calculateDomainAxisSpace

        protected AxisSpace calculateDomainAxisSpace​(java.awt.Graphics2D g2,
                                                     java.awt.geom.Rectangle2D plotArea,
                                                     AxisSpace space)
        Calculates the space required for the domain axis/axes.
        Parameters:
        g2 - the graphics device.
        plotArea - the plot area.
        space - a carrier for the result (null permitted).
        Returns:
        The required space.
      • calculateRangeAxisSpace

        protected AxisSpace calculateRangeAxisSpace​(java.awt.Graphics2D g2,
                                                    java.awt.geom.Rectangle2D plotArea,
                                                    AxisSpace space)
        Calculates the space required for the range axis/axes.
        Parameters:
        g2 - the graphics device.
        plotArea - the plot area.
        space - a carrier for the result (null permitted).
        Returns:
        The required space.
      • calculateAxisSpace

        protected AxisSpace calculateAxisSpace​(java.awt.Graphics2D g2,
                                               java.awt.geom.Rectangle2D plotArea)
        Calculates the space required for the axes.
        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 state)
        Draws the plot on a Java 2D graphics device (such as the screen or a printer).

        At your option, you may supply an instance of PlotRenderingInfo. If you do, it will be populated with information about the drawing, including various plot dimensions and tooltip info.

        Specified by:
        draw in class Plot
        Parameters:
        g2 - the graphics device.
        area - the area within which the plot (including axes) should be drawn.
        anchor - the anchor point (null permitted).
        parentState - the state from the parent plot, if there is one.
        state - collects info as the chart is drawn (possibly null).
      • drawBackground

        public void drawBackground​(java.awt.Graphics2D g2,
                                   java.awt.geom.Rectangle2D area)
        Draws the plot background (the background color and/or image).

        This method will be called during the chart drawing process and is declared public so that it can be accessed by the renderers used by certain subclasses. You shouldn't need to call this method directly.

        Overrides:
        drawBackground in class Plot
        Parameters:
        g2 - the graphics device.
        area - the area within which the plot should be drawn.
      • drawAxes

        protected java.util.Map drawAxes​(java.awt.Graphics2D g2,
                                         java.awt.geom.Rectangle2D plotArea,
                                         java.awt.geom.Rectangle2D dataArea,
                                         PlotRenderingInfo plotState)
        A utility method for drawing the plot's axes.
        Parameters:
        g2 - the graphics device.
        plotArea - the plot area.
        dataArea - the data area.
        plotState - collects information about the plot (null permitted).
        Returns:
        A map containing the axis states.
      • render

        public boolean render​(java.awt.Graphics2D g2,
                              java.awt.geom.Rectangle2D dataArea,
                              int index,
                              PlotRenderingInfo info,
                              CategoryCrosshairState crosshairState)
        Draws a representation of a dataset within the dataArea region using the appropriate renderer.
        Parameters:
        g2 - the graphics device.
        dataArea - the region in which the data is to be drawn.
        index - the dataset and renderer index.
        info - an optional object for collection dimension information.
        crosshairState - a state object for tracking crosshair info (null permitted).
        Returns:
        A boolean that indicates whether or not real data was found.
        Since:
        1.0.11
      • drawRangeGridlines

        protected void drawRangeGridlines​(java.awt.Graphics2D g2,
                                          java.awt.geom.Rectangle2D dataArea,
                                          java.util.List ticks)
        Draws the range gridlines for the plot, if they are visible.
        Parameters:
        g2 - the graphics device (null not permitted).
        dataArea - the area inside the axes (null not permitted).
        ticks - the ticks.
        See Also:
        drawDomainGridlines(Graphics2D, Rectangle2D)
      • drawZeroRangeBaseline

        protected void drawZeroRangeBaseline​(java.awt.Graphics2D g2,
                                             java.awt.geom.Rectangle2D area)
        Draws a base line across the chart at value zero on the range axis.
        Parameters:
        g2 - the graphics device.
        area - the data area.
        Since:
        1.0.13
        See Also:
        setRangeZeroBaselineVisible(boolean)
      • drawAnnotations

        protected void drawAnnotations​(java.awt.Graphics2D g2,
                                       java.awt.geom.Rectangle2D dataArea)
        Draws the annotations.
        Parameters:
        g2 - the graphics device.
        dataArea - the data area.
      • drawDomainMarkers

        protected void drawDomainMarkers​(java.awt.Graphics2D g2,
                                         java.awt.geom.Rectangle2D dataArea,
                                         int index,
                                         org.jfree.ui.Layer layer)
        Draws the domain markers (if any) for an axis and layer. This method is typically called from within the draw() method.
        Parameters:
        g2 - the graphics device.
        dataArea - the data area.
        index - the renderer index.
        layer - the layer (foreground or background).
        See Also:
        drawRangeMarkers(Graphics2D, Rectangle2D, int, Layer)
      • drawRangeMarkers

        protected void drawRangeMarkers​(java.awt.Graphics2D g2,
                                        java.awt.geom.Rectangle2D dataArea,
                                        int index,
                                        org.jfree.ui.Layer layer)
        Draws the range markers (if any) for an axis and layer. This method is typically called from within the draw() method.
        Parameters:
        g2 - the graphics device.
        dataArea - the data area.
        index - the renderer index.
        layer - the layer (foreground or background).
        See Also:
        drawDomainMarkers(Graphics2D, Rectangle2D, int, Layer)
      • drawRangeLine

        protected void drawRangeLine​(java.awt.Graphics2D g2,
                                     java.awt.geom.Rectangle2D dataArea,
                                     double value,
                                     java.awt.Stroke stroke,
                                     java.awt.Paint paint)
        Utility method for drawing a line perpendicular to the range axis (used for crosshairs).
        Parameters:
        g2 - the graphics device.
        dataArea - the area defined by the axes.
        value - the data value.
        stroke - the line stroke (null not permitted).
        paint - the line paint (null not permitted).
      • drawDomainCrosshair

        protected void drawDomainCrosshair​(java.awt.Graphics2D g2,
                                           java.awt.geom.Rectangle2D dataArea,
                                           PlotOrientation orientation,
                                           int datasetIndex,
                                           java.lang.Comparable rowKey,
                                           java.lang.Comparable columnKey,
                                           java.awt.Stroke stroke,
                                           java.awt.Paint paint)
        Draws a domain crosshair.
        Parameters:
        g2 - the graphics target.
        dataArea - the data area.
        orientation - the plot orientation.
        datasetIndex - the dataset index.
        rowKey - the row key.
        columnKey - the column key.
        stroke - the stroke used to draw the crosshair line.
        paint - the paint used to draw the crosshair line.
        Since:
        1.0.11
        See Also:
        drawRangeCrosshair(Graphics2D, Rectangle2D, PlotOrientation, double, ValueAxis, Stroke, Paint)
      • getDataRange

        public Range getDataRange​(ValueAxis axis)
        Returns the range of data values that will be plotted against the range axis. If the dataset is null, this method returns null.
        Specified by:
        getDataRange in interface ValueAxisPlot
        Parameters:
        axis - the axis.
        Returns:
        The data range.
      • getWeight

        public int getWeight()
        Returns the weight for this plot when it is used as a subplot within a combined plot.
        Returns:
        The weight.
        See Also:
        setWeight(int)
      • setWeight

        public void setWeight​(int weight)
        Sets the weight for the plot and sends a PlotChangeEvent to all registered listeners.
        Parameters:
        weight - the weight.
        See Also:
        getWeight()
      • getCategoriesForAxis

        public java.util.List getCategoriesForAxis​(CategoryAxis axis)
        Returns a list of the categories that should be displayed for the specified axis.
        Parameters:
        axis - the axis (null not permitted)
        Returns:
        The categories.
        Since:
        1.0.3
      • setDrawSharedDomainAxis

        public void setDrawSharedDomainAxis​(boolean draw)
        Sets the flag that controls whether the shared domain axis is drawn when this plot is being used as a subplot.
        Parameters:
        draw - a boolean.
        See Also:
        getDrawSharedDomainAxis()
      • setRangePannable

        public void setRangePannable​(boolean pannable)
        Sets the flag that enables or disables panning of the plot along the range axes.
        Parameters:
        pannable - the new flag value.
        Since:
        1.0.13
        See Also:
        isRangePannable()
      • panDomainAxes

        public void panDomainAxes​(double percent,
                                  PlotRenderingInfo info,
                                  java.awt.geom.Point2D source)
        Pans the domain axes by the specified percentage.
        Specified by:
        panDomainAxes in interface Pannable
        Parameters:
        percent - the distance to pan (as a percentage of the axis length).
        info - the plot info
        source - the source point where the pan action started.
        Since:
        1.0.13
      • panRangeAxes

        public void panRangeAxes​(double percent,
                                 PlotRenderingInfo info,
                                 java.awt.geom.Point2D source)
        Pans the range axes by the specified percentage.
        Specified by:
        panRangeAxes in interface Pannable
        Parameters:
        percent - the distance to pan (as a percentage of the axis length).
        info - the plot info
        source - the source point where the pan action started.
        Since:
        1.0.13
      • setAnchorValue

        public void setAnchorValue​(double value,
                                   boolean notify)
        Sets the anchor value and, if requested, sends a PlotChangeEvent to all registered listeners.
        Parameters:
        value - the value.
        notify - notify listeners?
        See Also:
        getAnchorValue()
      • equals

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

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of the plot.
        Specified by:
        clone in interface org.jfree.util.PublicCloneable
        Overrides:
        clone in class Plot
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if the cloning is not supported.