java.lang.Object
org.jfree.chart.plot.Plot
org.jfree.chart.plot.XYPlot
com.inductiveautomation.factorypmi.application.components.chart.runtime.AutoAnnotateXYPlot
All Implemented Interfaces:
Serializable, Cloneable, EventListener, org.jfree.chart.event.AxisChangeListener, org.jfree.chart.event.MarkerChangeListener, org.jfree.chart.event.RendererChangeListener, org.jfree.chart.LegendItemSource, org.jfree.chart.plot.ValueAxisPlot, org.jfree.chart.plot.Zoomable, org.jfree.data.general.DatasetChangeListener, org.jfree.util.PublicCloneable

public class AutoAnnotateXYPlot extends org.jfree.chart.plot.XYPlot
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
    This CrosshairState subclass maintains an array of crosshair states for supporting crosshairs across multiple series
    class 
    This is an example of object oriented programming gone bad!! CrosshairState has no accessors for its private data variables which I need, hence this ridiculous copy-paste job, overriding everything.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    protected double
     
    protected Font
     
    protected NumberFormat
     
    protected int
     

    Fields inherited from class org.jfree.chart.plot.XYPlot

    DEFAULT_CROSSHAIR_PAINT, DEFAULT_CROSSHAIR_STROKE, DEFAULT_CROSSHAIR_VISIBLE, DEFAULT_GRIDLINE_PAINT, DEFAULT_GRIDLINE_STROKE, localizationResources

    Fields inherited from class org.jfree.chart.plot.Plot

    DEFAULT_BACKGROUND_ALPHA, DEFAULT_BACKGROUND_PAINT, DEFAULT_FOREGROUND_ALPHA, DEFAULT_INSETS, DEFAULT_LEGEND_ITEM_BOX, DEFAULT_LEGEND_ITEM_CIRCLE, DEFAULT_OUTLINE_PAINT, DEFAULT_OUTLINE_STROKE, MINIMUM_HEIGHT_TO_DRAW, MINIMUM_WIDTH_TO_DRAW, ZERO
  • Constructor Summary

    Constructors
    Constructor
    Description
    AutoAnnotateXYPlot(int plotIndex, int plotCount)
     
    AutoAnnotateXYPlot(int plotIndex, int plotCount, XTraceAction traceAction)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
     
    void
    draw(Graphics2D g2, Rectangle2D area, Point2D anchor, org.jfree.chart.plot.PlotState parentState, org.jfree.chart.plot.PlotRenderingInfo info)
     
    protected void
    drawHorizontalLine(Graphics2D g2, Rectangle2D dataArea, int dataset, double value, Stroke stroke, Paint paint)
     
    protected void
    drawVerticalLine(Graphics2D g2, Rectangle2D dataArea, int dataset, double value, Stroke stroke, Paint paint)
     
    double
     
     
     
    int
     
    org.jfree.chart.LegendItemCollection
    Returns legend items for all series with positive number of rows.
     
    protected org.jfree.data.xy.IntervalXYDataset
    optimize(org.jfree.data.xy.XYDataset dataset, int series, org.jfree.chart.axis.ValueAxis domainAxis, Rectangle2D dataArea, org.jfree.chart.renderer.xy.XYItemRenderer renderer)
     
    void
     
    void
     
    protected boolean
    render(Graphics2D g2, Rectangle2D dataArea, int index, org.jfree.chart.plot.PlotRenderingInfo info, AutoAnnotateXYPlot.MultiCrosshairState crosshairState)
     
    void
     
    void
    setAnnotationFont(Font annotationFont)
     
    void
     
    void
     
    protected void
     

    Methods inherited from class org.jfree.chart.plot.XYPlot

    addAnnotation, addAnnotation, addDomainMarker, addDomainMarker, addDomainMarker, addDomainMarker, addRangeMarker, addRangeMarker, addRangeMarker, addRangeMarker, calculateAxisSpace, calculateDomainAxisSpace, calculateRangeAxisSpace, clearAnnotations, clearDomainAxes, clearDomainMarkers, clearDomainMarkers, clearRangeAxes, clearRangeMarkers, clearRangeMarkers, clone, configureDomainAxes, configureRangeAxes, datasetChanged, drawAnnotations, drawAxes, drawBackground, drawDomainCrosshair, drawDomainGridlines, drawDomainMarkers, drawDomainTickBands, drawHorizontalLine, drawQuadrants, drawRangeCrosshair, drawRangeGridlines, drawRangeMarkers, drawRangeTickBands, drawVerticalLine, drawZeroDomainBaseline, drawZeroRangeBaseline, equals, getAnnotations, getAxisOffset, getDataRange, getDataset, getDataset, getDatasetCount, getDatasetRenderingOrder, getDomainAxis, getDomainAxis, getDomainAxisCount, getDomainAxisEdge, getDomainAxisEdge, getDomainAxisForDataset, getDomainAxisIndex, getDomainAxisLocation, getDomainAxisLocation, getDomainCrosshairPaint, getDomainCrosshairStroke, getDomainCrosshairValue, getDomainGridlinePaint, getDomainGridlineStroke, getDomainMarkers, getDomainMarkers, getDomainTickBandPaint, getDomainZeroBaselinePaint, getDomainZeroBaselineStroke, getFixedDomainAxisSpace, getFixedLegendItems, getFixedRangeAxisSpace, getIndexOf, getOrientation, getPlotType, getQuadrantOrigin, getQuadrantPaint, getRangeAxis, getRangeAxis, getRangeAxisCount, getRangeAxisEdge, getRangeAxisEdge, getRangeAxisForDataset, getRangeAxisIndex, getRangeAxisLocation, getRangeAxisLocation, getRangeCrosshairPaint, getRangeCrosshairStroke, getRangeCrosshairValue, getRangeGridlinePaint, getRangeGridlineStroke, getRangeMarkers, getRangeMarkers, getRangeTickBandPaint, getRangeZeroBaselinePaint, getRangeZeroBaselineStroke, getRenderer, getRenderer, getRendererCount, getRendererForDataset, getSeriesCount, getSeriesRenderingOrder, getWeight, handleClick, indexOf, isDomainCrosshairLockedOnData, isDomainCrosshairVisible, isDomainGridlinesVisible, isDomainZeroBaselineVisible, isDomainZoomable, isRangeCrosshairLockedOnData, isRangeCrosshairVisible, isRangeGridlinesVisible, isRangeZeroBaselineVisible, isRangeZoomable, mapDatasetToDomainAxis, mapDatasetToRangeAxis, removeAnnotation, removeAnnotation, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeDomainMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, removeRangeMarker, render, rendererChanged, setAxisOffset, setDataset, setDataset, setDatasetRenderingOrder, setDomainAxes, setDomainAxis, setDomainAxis, setDomainAxis, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainAxisLocation, setDomainCrosshairLockedOnData, setDomainCrosshairPaint, setDomainCrosshairStroke, setDomainCrosshairValue, setDomainCrosshairValue, setDomainCrosshairVisible, setDomainGridlinePaint, setDomainGridlineStroke, setDomainGridlinesVisible, setDomainTickBandPaint, setDomainZeroBaselinePaint, setDomainZeroBaselineStroke, setDomainZeroBaselineVisible, setFixedDomainAxisSpace, setFixedDomainAxisSpace, setFixedLegendItems, setFixedRangeAxisSpace, setFixedRangeAxisSpace, setOrientation, setQuadrantOrigin, setQuadrantPaint, setRangeAxes, setRangeAxis, setRangeAxis, setRangeAxis, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeAxisLocation, setRangeCrosshairLockedOnData, setRangeCrosshairPaint, setRangeCrosshairStroke, setRangeCrosshairValue, setRangeCrosshairValue, setRangeCrosshairVisible, setRangeGridlinePaint, setRangeGridlineStroke, setRangeGridlinesVisible, setRangeTickBandPaint, setRangeZeroBaselinePaint, setRangeZeroBaselineStroke, setRangeZeroBaselineVisible, setRenderer, setRenderer, setRenderer, setRenderers, setSeriesRenderingOrder, setWeight, zoomDomainAxes, zoomDomainAxes, zoomDomainAxes, zoomRangeAxes, zoomRangeAxes, zoomRangeAxes

    Methods inherited from class org.jfree.chart.plot.Plot

    addChangeListener, axisChanged, drawBackgroundImage, drawNoDataMessage, drawOutline, fillBackground, fillBackground, fireChangeEvent, getBackgroundAlpha, getBackgroundImage, getBackgroundImageAlignment, getBackgroundImageAlpha, getBackgroundPaint, getDatasetGroup, getDrawingSupplier, getForegroundAlpha, getInsets, getNoDataMessage, getNoDataMessageFont, getNoDataMessagePaint, getOutlinePaint, getOutlineStroke, getParent, getRectX, getRectY, getRootPlot, isOutlineVisible, isSubplot, markerChanged, notifyListeners, removeChangeListener, resolveDomainAxisLocation, resolveRangeAxisLocation, setBackgroundAlpha, setBackgroundImage, setBackgroundImageAlignment, setBackgroundImageAlpha, setBackgroundPaint, setDatasetGroup, setDrawingSupplier, setDrawingSupplier, setForegroundAlpha, setInsets, setInsets, setNoDataMessage, setNoDataMessageFont, setNoDataMessagePaint, setOutlinePaint, setOutlineStroke, setOutlineVisible, setParent, zoom

    Methods inherited from class java.lang.Object

    finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ANNOTATION_SINGLE

      public static final int ANNOTATION_SINGLE
      See Also:
    • ANNOTATION_OFF

      public static final int ANNOTATION_OFF
      See Also:
    • ANNOTATION_XTRACE

      public static final int ANNOTATION_XTRACE
      See Also:
    • annotationMode

      protected int annotationMode
    • annotationFont

      protected Font annotationFont
    • annotationFormat

      protected NumberFormat annotationFormat
    • annotationAngle

      protected double annotationAngle
  • Constructor Details

    • AutoAnnotateXYPlot

      public AutoAnnotateXYPlot(int plotIndex, int plotCount)
    • AutoAnnotateXYPlot

      public AutoAnnotateXYPlot(int plotIndex, int plotCount, XTraceAction traceAction)
  • Method Details

    • render

      protected boolean render(Graphics2D g2, Rectangle2D dataArea, int index, org.jfree.chart.plot.PlotRenderingInfo info, AutoAnnotateXYPlot.MultiCrosshairState crosshairState)
    • optimize

      protected org.jfree.data.xy.IntervalXYDataset optimize(org.jfree.data.xy.XYDataset dataset, int series, org.jfree.chart.axis.ValueAxis domainAxis, Rectangle2D dataArea, org.jfree.chart.renderer.xy.XYItemRenderer renderer)
    • draw

      public void draw(Graphics2D g2, Rectangle2D area, Point2D anchor, org.jfree.chart.plot.PlotState parentState, org.jfree.chart.plot.PlotRenderingInfo info)
      Overrides:
      draw in class org.jfree.chart.plot.XYPlot
    • drawHorizontalLine

      protected void drawHorizontalLine(Graphics2D g2, Rectangle2D dataArea, int dataset, double value, Stroke stroke, Paint paint)
    • drawVerticalLine

      protected void drawVerticalLine(Graphics2D g2, Rectangle2D dataArea, int dataset, double value, Stroke stroke, Paint paint)
    • getLegendItems

      public org.jfree.chart.LegendItemCollection getLegendItems()
      Returns legend items for all series with positive number of rows.
      Specified by:
      getLegendItems in interface org.jfree.chart.LegendItemSource
      Overrides:
      getLegendItems in class org.jfree.chart.plot.XYPlot
      Returns:
      The legend items.
    • getAnnotationAngle

      public double getAnnotationAngle()
    • getAnnotationMode

      public int getAnnotationMode()
    • setAnnotationAngle

      public void setAnnotationAngle(double d)
    • setAnnotationMode

      public void setAnnotationMode(int i)
    • getAnnotationFont

      public Font getAnnotationFont()
    • setAnnotationFont

      public void setAnnotationFont(Font annotationFont)
    • getAnnotationFormat

      public NumberFormat getAnnotationFormat()
    • setAnnotationFormat

      public void setAnnotationFormat(NumberFormat annotationFormat)
    • getXAnchor

      public String getXAnchor()
    • setXAnchor

      protected void setXAnchor(String anchor)
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
    • addPropertyChangeListener

      public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
    • removePropertyChangeListener

      public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)