|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.gicentre.utils.stat.AbstractChart
public abstract class AbstractChart
Abstract class for representing a statistical chart. This class provides the core functionality common to all charts. A chart will contain a set of axes each corresponding to a set of data. The way in which each axis/data set is displayed will depend on the nature of the chart represented by the subclass.
Nested Class Summary | |
---|---|
protected static class |
AbstractChart.Side
Indicates a side of the chart |
Field Summary | |
---|---|
protected int |
axisColour
Colour of axis lines. |
protected java.text.DecimalFormat[] |
axisFormatter
For numerical formatting of axis labels. |
protected int |
axisLabelColour
Colour of axis labels. |
protected int |
axisValuesColour
Colour of the values shown on a chart axis. |
protected float[][] |
data
The datasets to be charted. |
protected boolean |
drawDecorations
|
protected processing.core.PGraphics |
graphics
Graphics context in which to send output. |
protected float[][] |
logTics
Tic mark values for optional axis display. |
protected processing.core.PApplet |
parent
Parent sketch in which this chart is to be drawn. |
protected Drawable |
renderer
Alternative renderer for sketchy graphics and other styles. |
protected boolean |
showEdge
Determines if areal chart features are drawn with an edge or not. |
protected float[][] |
tics
Tic mark values for optional axis display. |
protected boolean |
transposeAxes
Determines if the two primary axes should be transposed. |
Constructor Summary | |
---|---|
protected |
AbstractChart(processing.core.PApplet parent)
Initialises the chart settings. |
Method Summary | |
---|---|
protected static float |
convertFromLog(double logValue,
double minLogValue,
double maxLogValue)
Converts the given value assumed to be on a log scale between 0 and 1, to an non-log value. |
protected static float |
convertToLog(double dataItem,
double minLogValue,
double maxLogValue)
Converts the given value, which is assumed to be positive, to a log value scaled between 0 and 1 |
protected abstract void |
draw(float xOrigin,
float yOrigin,
float width,
float height)
Should draw the chart within the given bounds. |
protected float |
getBorder(AbstractChart.Side side)
Reports the internal border between the given edge of the chart and the drawing area. |
protected float[] |
getData(int dimension)
Reports the data to be displayed along the given axis of the chart. |
protected boolean |
getIsLogScale(int dimension)
Reports whether or not the data in the given dimension are to be represented on the log10 scale. |
protected float |
getMax(int dimension)
Reports the maximum value of the data to be charted on the axis of the given dimension. |
protected float |
getMaxLog(int dimension)
Reports the maximum value of the log10 of the data to be charted on the axis of the given dimension. |
protected float |
getMin(int dimension)
Reports the minimum value of the data to be charted on the axis of the given dimension. |
protected float |
getMinBorder()
Reports the minimum internal border between the chart and the drawing area. |
protected float |
getMinLog(int dimension)
Reports the minimum value of the log10 of the data to be charted on the axis of the given dimension. |
protected boolean |
getShowAxis(int dimension)
Reports whether or not the axis representing the given dimension is drawn. |
void |
setAxisColour(int colour)
Determines the colour of the axis lines of the chart |
void |
setAxisLabelColour(int colour)
Determines the colour of the axis labels of the chart |
void |
setAxisValuesColour(int colour)
Determines the colour of the axis values of the chart |
protected void |
setBorder(float border,
AbstractChart.Side side)
Sets the internal border between the given edge of the chart and the drawing area. |
protected void |
setData(int dimension,
float[] data)
Sets the data to be displayed along the given axis of the chart. |
void |
setDecorations(boolean drawDecorations)
Determines whether decorations such as title, axes, and labels are drawn or not. |
protected void |
setFormat(int dimension,
java.lang.String format)
Sets the numerical format for numbers shown on the axis of the given dimension. |
void |
setGraphics(processing.core.PGraphics graphics)
Sets the the graphics context into which all output is directed. |
protected void |
setIsLogScale(int dimension,
boolean isLog)
Determines whether or not the data in the given dimension are to be represented on the log10 scale. |
protected void |
setMax(int dimension,
float max)
Sets the maximum value of the data to be charted on the axis of the given dimension. |
protected void |
setMin(int dimension,
float min)
Sets the minimum value of the data to be charted on the axis of the given dimension. |
protected void |
setMinBorder(float border)
Sets the minimum internal border between the edge of the graph and the drawing area. |
protected void |
setMinBorder(float border,
AbstractChart.Side side)
Sets the minimum internal border between the given edge of the chart and the drawing area. |
protected void |
setRange(int dimension,
float min,
float max)
Sets the minimum and maximum values of the data to be charted on the axis of the given dimension. |
void |
setRenderer(Drawable renderer)
Sets the the renderer to be used for drawing graphics. |
void |
setShowEdge(boolean showEdge)
Determines whether or not to draw lines around and areal chart features. |
protected void |
showAxis(int dimension,
boolean isVisible,
AbstractChart.Side side)
Determines whether or not the axis representing the given dimension is drawn. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected processing.core.PApplet parent
protected processing.core.PGraphics graphics
protected Drawable renderer
protected float[][] data
protected float[][] tics
protected float[][] logTics
protected boolean transposeAxes
protected java.text.DecimalFormat[] axisFormatter
protected int axisColour
protected int axisValuesColour
protected int axisLabelColour
protected boolean showEdge
protected boolean drawDecorations
Constructor Detail |
---|
protected AbstractChart(processing.core.PApplet parent)
parent
- Sketch in which this chart is to appear.Method Detail |
---|
protected abstract void draw(float xOrigin, float yOrigin, float width, float height)
xOrigin
- left-hand pixel coordinate of the area in which to draw the chart.yOrigin
- top pixel coordinate of the area in which to draw the chart.width
- Width in pixels of the area in which to draw the chart.height
- Height in pixels of the area in which to draw the chart.public void setGraphics(processing.core.PGraphics graphics)
graphics
- New graphics context in which the chart is embedded.public void setRenderer(Drawable renderer)
setGraphics()
, any custom renderers will be lost.
renderer
- New renderer to be used for drawing graphics.public void setDecorations(boolean drawDecorations)
drawDecorations
- If true, axes, labels and titles can be drawn.public void setAxisColour(int colour)
colour
- Colour of the axis lines of the chart.public void setAxisLabelColour(int colour)
colour
- Colour of the axis labels of the chart.public void setAxisValuesColour(int colour)
colour
- Colour of the axis values of the chart.public void setShowEdge(boolean showEdge)
showEdge
- Edges drawn if true.protected void setData(int dimension, float[] data)
dimension
- Dimension of the data to add.data
- Collection of data items to represent in the chart.protected float[] getData(int dimension)
dimension
- Dimension of the data to report.
protected void setRange(int dimension, float min, float max)
Float.NaN
, then the minimum or maximum
value respectively will be set to that of the min/max data items in the given dimension.
dimension
- Dimension of the data whose minimum value is to be set.min
- Minimum value to be represented on the axis or Float.NaN
for natural data minimum.max
- Maximum value to be represented on the axis or Float.NaN
for natural data maximum..protected void setMin(int dimension, float min)
Float.NaN
, then the minimum value will be set to
the minimum of the data items in the given dimension.
dimension
- Dimension of the data whose minimum value is to be set.min
- Minimum value to be represented on the axis or Float.NaN
if data
minimum is to be used.protected float getMin(int dimension)
dimension
- Dimension of the data whose minimum value is to be retrieved.
protected float getMax(int dimension)
dimension
- Dimension of the data whose maximum value is to be retrieved.
protected float getMinLog(int dimension)
dimension
- Dimension of the data whose minimum value is to be retrieved.
protected float getMaxLog(int dimension)
dimension
- Dimension of the data whose maximum value is to be retrieved.
protected void setMax(int dimension, float max)
Float.NaN
, then the maximum value will be set to
the maximum of the data items in the given dimension.
dimension
- Dimension of the data whose maximum value is to be set.max
- Maximum value to be represented on the axis or Float.NaN
if data
minimum is to be used.protected void setMinBorder(float border)
border
- Minimum internal border size in pixel units.protected void setMinBorder(float border, AbstractChart.Side side)
setMinBorder()
,
then this method has no effect.
border
- Border at the given side in pixel units.side
- Side of the chart to set the minimum border size.protected void setBorder(float border, AbstractChart.Side side)
border
- Border at the given side in pixel units.side
- Side of the chart to set the border size.protected float getMinBorder()
protected float getBorder(AbstractChart.Side side)
getMinBorder()
and large enough to accommodate any axis labelling.
side
- Side of the chart to query.
protected void showAxis(int dimension, boolean isVisible, AbstractChart.Side side)
dimension
- Dimension of the data to have axis displayed or hidden.isVisible
- Axis is drawn if true.side
- Side of chart along which axis is drawn.protected boolean getShowAxis(int dimension)
dimension
- Dimension of the data to query.
protected boolean getIsLogScale(int dimension)
dimension
- Dimension of the data to query.
protected void setIsLogScale(int dimension, boolean isLog)
dimension
- Dimension of the data to set.isLog
- True if the data in the given dimension are to be log-scaled or false if linear.protected void setFormat(int dimension, java.lang.String format)
dimension
- Dimension of the data axis to format.format
- Format for numbers on the given data axis.protected static float convertToLog(double dataItem, double minLogValue, double maxLogValue)
dataItem
- Item from which to find log value.minLogValue
- Minimum value of the log10 of dataItem (used to scale result between 0-1)maxLogValue
- Maximum value of the log10 of dataItem (used to scale result between 0-1)
protected static float convertFromLog(double logValue, double minLogValue, double maxLogValue)
logValue
- 0-1 log value from which the data value is to be found. If this value is
outside the 0-1 range, a value of 0 will be returned.minLogValue
- Minimum value of the log10 of dataItem (used to unscale the logValue from 0-1)maxLogValue
- Maximum value of the log10 of dataItem (used to unscale the logValue from 0-1)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |