Class AutoAnnotateXYPlot
- java.lang.Object
-
- org.jfree.chart.plot.Plot
-
- org.jfree.chart.plot.XYPlot
-
- com.inductiveautomation.factorypmi.application.components.chart.runtime.AutoAnnotateXYPlot
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,java.util.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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
AutoAnnotateXYPlot.MultiCrosshairState
This CrosshairState subclass maintains an array of crosshair states for supporting crosshairs across multiple seriesclass
AutoAnnotateXYPlot.TransparentCrosshairState
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 int
ANNOTATION_OFF
static int
ANNOTATION_SINGLE
static int
ANNOTATION_XTRACE
protected double
annotationAngle
protected java.awt.Font
annotationFont
protected java.text.NumberFormat
annotationFormat
protected int
annotationMode
-
Constructor Summary
Constructors Constructor Description AutoAnnotateXYPlot(int plotIndex, int plotCount)
AutoAnnotateXYPlot(int plotIndex, int plotCount, XTraceAction traceAction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
void
addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
void
draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, org.jfree.chart.plot.PlotState parentState, org.jfree.chart.plot.PlotRenderingInfo info)
protected void
drawHorizontalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int dataset, double value, java.awt.Stroke stroke, java.awt.Paint paint)
protected void
drawVerticalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int dataset, double value, java.awt.Stroke stroke, java.awt.Paint paint)
double
getAnnotationAngle()
java.awt.Font
getAnnotationFont()
java.text.NumberFormat
getAnnotationFormat()
int
getAnnotationMode()
org.jfree.chart.LegendItemCollection
getLegendItems()
Returns legend items for all series with positive number of rows.java.lang.String
getXAnchor()
protected org.jfree.data.xy.IntervalXYDataset
optimize(org.jfree.data.xy.XYDataset dataset, int series, org.jfree.chart.axis.ValueAxis domainAxis)
void
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
void
removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
protected boolean
render(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int index, org.jfree.chart.plot.PlotRenderingInfo info, AutoAnnotateXYPlot.MultiCrosshairState crosshairState)
void
setAnnotationAngle(double d)
void
setAnnotationFont(java.awt.Font annotationFont)
void
setAnnotationFormat(java.text.NumberFormat annotationFormat)
void
setAnnotationMode(int i)
protected void
setXAnchor(java.lang.String anchor)
-
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
-
-
-
-
Field Detail
-
ANNOTATION_SINGLE
public static final int ANNOTATION_SINGLE
- See Also:
- Constant Field Values
-
ANNOTATION_OFF
public static final int ANNOTATION_OFF
- See Also:
- Constant Field Values
-
ANNOTATION_XTRACE
public static final int ANNOTATION_XTRACE
- See Also:
- Constant Field Values
-
annotationMode
protected int annotationMode
-
annotationFont
protected java.awt.Font annotationFont
-
annotationFormat
protected java.text.NumberFormat annotationFormat
-
annotationAngle
protected double annotationAngle
-
-
Constructor Detail
-
AutoAnnotateXYPlot
public AutoAnnotateXYPlot(int plotIndex, int plotCount)
-
AutoAnnotateXYPlot
public AutoAnnotateXYPlot(int plotIndex, int plotCount, XTraceAction traceAction)
-
-
Method Detail
-
render
protected boolean render(java.awt.Graphics2D g2, java.awt.geom.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)
-
draw
public void draw(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D area, java.awt.geom.Point2D anchor, org.jfree.chart.plot.PlotState parentState, org.jfree.chart.plot.PlotRenderingInfo info)
- Overrides:
draw
in classorg.jfree.chart.plot.XYPlot
-
drawHorizontalLine
protected void drawHorizontalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int dataset, double value, java.awt.Stroke stroke, java.awt.Paint paint)
-
drawVerticalLine
protected void drawVerticalLine(java.awt.Graphics2D g2, java.awt.geom.Rectangle2D dataArea, int dataset, double value, java.awt.Stroke stroke, java.awt.Paint paint)
-
getLegendItems
public org.jfree.chart.LegendItemCollection getLegendItems()
Returns legend items for all series with positive number of rows.- Specified by:
getLegendItems
in interfaceorg.jfree.chart.LegendItemSource
- Overrides:
getLegendItems
in classorg.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 java.awt.Font getAnnotationFont()
-
setAnnotationFont
public void setAnnotationFont(java.awt.Font annotationFont)
-
getAnnotationFormat
public java.text.NumberFormat getAnnotationFormat()
-
setAnnotationFormat
public void setAnnotationFormat(java.text.NumberFormat annotationFormat)
-
getXAnchor
public java.lang.String getXAnchor()
-
setXAnchor
protected void setXAnchor(java.lang.String anchor)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
-
addPropertyChangeListener
public void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
-
removePropertyChangeListener
public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
-
removePropertyChangeListener
public void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
-
-