Venice 0.751beta

nz.org.venice.chart.graph
Class StandardDeviationGraph

java.lang.Object
  extended bynz.org.venice.chart.graph.AbstractGraph
      extended bynz.org.venice.chart.graph.StandardDeviationGraph
All Implemented Interfaces:
Graph

public class StandardDeviationGraph
extends AbstractGraph

Standard Deviation graph. This graph is used to show the volatility of a stock. The higher the standard deviation, the more volatile the stock.

Author:
Andrew Leppard
See Also:
PeriodGraphUI

Field Summary
 
Fields inherited from interface nz.org.venice.chart.graph.Graph
TOOL_TIP_BUFFER
 
Constructor Summary
StandardDeviationGraph(GraphSource source)
          Create a new standard deviation graph.
StandardDeviationGraph(GraphSource source, java.util.HashMap settings)
          Create a new standard deviation graph.
 
Method Summary
static Graphable createStandardDeviation(Graphable source, int period)
          Creates a new standard deviation based on the given data source.
 double[] getAcceptableMajorDeltas()
          Return an array of acceptable major deltas for the vertical axis.
 double[] getAcceptableMinorDeltas()
          Return an array of acceptable minor deltas for the vertical axis.
 double getHighestY(java.util.List x)
          Return the highest Y value in the given X range.
 double getLowestY(java.util.List x)
          Return the loweset Y value in the given X range.
 java.lang.String getName()
          Return the name of this graph.
 java.lang.String getToolTipText(java.lang.Comparable x, int y, int yoffset, double verticalScale, double bottomLineValue)
          Get the tool tip text for the given X value and y coordinate.
 GraphUI getUI(java.util.HashMap settings)
          Return the graph's user interface.
 java.lang.String getYLabel(double value)
          Convert the Y value to a label to be displayed in the vertical axis.
 boolean isPrimary()
          Return whether the graph is a primary graph.
 void render(java.awt.Graphics g, java.awt.Color colour, int xoffset, int yoffset, double horizontalScale, double verticalScale, double topLineValue, double bottomLineValue, java.util.List xRange, boolean vertOrientation)
          Draw the graph.
 void setSettings(java.util.HashMap settings)
          Set the graph's user definable settings.
 
Methods inherited from class nz.org.venice.chart.graph.AbstractGraph
dataAvailable, getEndX, getSettings, getSource, getSourceName, getSourceType, getStartX, getXRange, getY
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardDeviationGraph

public StandardDeviationGraph(GraphSource source)
Create a new standard deviation graph.

Parameters:
source - the source to create a standard deviation from

StandardDeviationGraph

public StandardDeviationGraph(GraphSource source,
                              java.util.HashMap settings)
Create a new standard deviation graph.

Parameters:
source - the source to create a standard deviation from
settings - the settings of the graph
Method Detail

render

public void render(java.awt.Graphics g,
                   java.awt.Color colour,
                   int xoffset,
                   int yoffset,
                   double horizontalScale,
                   double verticalScale,
                   double topLineValue,
                   double bottomLineValue,
                   java.util.List xRange,
                   boolean vertOrientation)
Description copied from interface: Graph
Draw the graph.

Parameters:
g - the Graphics object to render to
colour - the colour the graph should be rendered in; override this if the graph should be drawn in a certain colour - such as a Moving Average graph
xoffset - the x offset in the graphics object where the graph starts
yoffset - the y offset in the graphics object where the graph starts
horizontalScale - horizontal scale factor; use this to convert between X value in the xRange to a cartesian coordinate x
verticalScale - vertical scale factor; use this to convert between Y value to a cartesian coordinate y
topLineValue - the Y value of the lowest line in the graph
bottomLineValue - the Y value of the lowest line in the graph
xRange - a List of Comparable that contain the X values to plot
vertOrientation - true if increasing y values mean decreasing Y values

getToolTipText

public java.lang.String getToolTipText(java.lang.Comparable x,
                                       int y,
                                       int yoffset,
                                       double verticalScale,
                                       double bottomLineValue)
Description copied from class: AbstractGraph
Get the tool tip text for the given X value and y coordinate.

Specified by:
getToolTipText in interface Graph
Overrides:
getToolTipText in class AbstractGraph
Parameters:
x - the X value
y - the y coordinate
yoffset - y offset from top of graph
verticalScale - vertical scale factor
bottomLineValue - the Y value of the lowest line in the graph
Returns:
the tool tip text for the default GraphSource

getHighestY

public double getHighestY(java.util.List x)
Description copied from class: AbstractGraph
Return the highest Y value in the given X range.

Specified by:
getHighestY in interface Graph
Overrides:
getHighestY in class AbstractGraph
Parameters:
x - range of X values
Returns:
the highest Y value of the default GraphSource

getLowestY

public double getLowestY(java.util.List x)
Description copied from class: AbstractGraph
Return the loweset Y value in the given X range.

Specified by:
getLowestY in interface Graph
Overrides:
getLowestY in class AbstractGraph
Parameters:
x - range of X values
Returns:
the lowest Y value of the default GraphSource

getAcceptableMajorDeltas

public double[] getAcceptableMajorDeltas()
Description copied from class: AbstractGraph
Return an array of acceptable major deltas for the vertical axis.

Specified by:
getAcceptableMajorDeltas in interface Graph
Overrides:
getAcceptableMajorDeltas in class AbstractGraph
Returns:
an array of doubles representing the minor deltas of the default GraphSource

getAcceptableMinorDeltas

public double[] getAcceptableMinorDeltas()
Description copied from class: AbstractGraph
Return an array of acceptable minor deltas for the vertical axis.

Specified by:
getAcceptableMinorDeltas in interface Graph
Overrides:
getAcceptableMinorDeltas in class AbstractGraph
Returns:
an array of doubles representing the minor deltas of the default GraphSource
See Also:
Graph.getAcceptableMajorDeltas()

getYLabel

public java.lang.String getYLabel(double value)
Description copied from class: AbstractGraph
Convert the Y value to a label to be displayed in the vertical axis.

Specified by:
getYLabel in interface Graph
Overrides:
getYLabel in class AbstractGraph
Parameters:
value - y value
Returns:
the Y label text that the default GraphSource would display

createStandardDeviation

public static Graphable createStandardDeviation(Graphable source,
                                                int period)
Creates a new standard deviation based on the given data source.

Parameters:
source - the input graph source
period - the desired period of the standard deviation
Returns:
the graphable containing averaged data from the source

setSettings

public void setSettings(java.util.HashMap settings)
Description copied from class: AbstractGraph
Set the graph's user definable settings.

Specified by:
setSettings in interface Graph
Overrides:
setSettings in class AbstractGraph
Parameters:
settings - the new settings

getUI

public GraphUI getUI(java.util.HashMap settings)
Return the graph's user interface.

Specified by:
getUI in interface Graph
Overrides:
getUI in class AbstractGraph
Parameters:
settings - the initial settings
Returns:
user interface

getName

public java.lang.String getName()
Return the name of this graph.

Returns:
Standard Deviation

isPrimary

public boolean isPrimary()
Description copied from interface: Graph
Return whether the graph is a primary graph. Primary graphs will appear together in the top chart. Secondary graphs appear in their own charts which are added below. The day close graph is primary; while the day close graph is secondary.

Returns:
true if the graph is a primary graph

Venice 0.751beta