JSci.awt
Class Histogram

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Canvas
          extended by JSci.awt.DoubleBufferedCanvas
              extended by JSci.awt.Histogram
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, GraphDataListener

public class Histogram
extends DoubleBufferedCanvas
implements GraphDataListener

A histogram AWT component. The y-values are the counts for each bin. Each bin is specified by an interval. So that y[i] contains the counts for the bin from x[i-1] to x[i]. The value of y[0] is disregarded.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  int axisPad
           
protected  boolean gridLines
           
protected  int leftAxisPad
           
protected  Graph2DModel model
          Data model.
protected  boolean numbering
          Axis numbering.
protected  java.awt.Point origin
          Origin.
protected  int scalePad
          Padding.
protected  java.awt.Color[] seriesColor
          Series colors.
protected  java.text.NumberFormat xNumberFormat
           
protected  java.text.NumberFormat yNumberFormat
           
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Histogram(Graph2DModel gm)
          Constructs a histogram.
 
Method Summary
 void addNotify()
           
 void dataChanged(GraphDataEvent e)
          Implementation of GraphDataListener.
protected  java.awt.Point dataToScreen(float x, float y)
          Converts a data point to screen coordinates.
protected  void drawAxes(java.awt.Graphics g)
          Draws the graph axes.
protected  void drawData(java.awt.Graphics g)
          Draws the graph data.
protected  void drawXLabel(java.awt.Graphics g, double x, java.awt.Point p)
           
protected  void drawYLabel(java.awt.Graphics g, double y, java.awt.Point p)
           
 java.awt.Color getColor(int n)
          Gets the color of the nth y-series.
 java.awt.geom.Rectangle2D.Float getExtrema()
          Returns the bounding box for the axis extrema.
 java.awt.Dimension getMinimumSize()
          Returns the minimum size of this component.
 Graph2DModel getModel()
          Returns the model used by this graph.
 java.awt.Dimension getPreferredSize()
          Returns the preferred size of this component.
 float getXIncrement()
          Returns the x-axis numbering increment.
 float getXMaximum()
           
 float getXMinimum()
           
 float getYIncrement()
          Returns the y-axis numbering increment.
 float getYMaximum()
           
 float getYMinimum()
           
protected  void offscreenPaint(java.awt.Graphics g)
          Paints the graph (draws the graph axes and data).
protected  void rescale()
          Rescales this graph.
protected  java.awt.geom.Point2D.Float screenToData(java.awt.Point p)
          Converts a screen point to data coordinates.
 void setBounds(int x, int y, int width, int height)
          Reshapes this graph to the specified bounding box.
 void setColor(int n, java.awt.Color c)
          Sets the color of the nth y-series.
 void setGridLines(boolean flag)
          Turns grid lines on/off.
 void setModel(Graph2DModel gm)
          Sets the data plotted by this graph to the specified data.
 void setNumberFormat(java.text.NumberFormat format)
          Sets the display format used for axis numbering.
 void setNumbering(boolean flag)
          Turns axis numbering on/off.
 void setXExtrema(float min, float max)
          Sets the minimum/maximum values on the x-axis.
 void setXExtrema(float min, float max, float growth)
           
 void setXIncrement(float dx)
          Sets the x-axis numbering increment.
 void setXNumberFormat(java.text.NumberFormat format)
          Sets the display format used for x-axis numbering.
 void setYExtrema(float min, float max)
          Sets the minimum/maximum values on the y-axis.
 void setYExtrema(float min, float max, float growth)
           
 void setYIncrement(float dy)
          Sets the y-axis numbering increment.
 void setYNumberFormat(java.text.NumberFormat format)
          Sets the display format used for y-axis numbering.
 
Methods inherited from class JSci.awt.DoubleBufferedCanvas
getOffscreenGraphics, paint, print, redraw, update
 
Methods inherited from class java.awt.Canvas
createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

model

protected Graph2DModel model
Data model.


origin

protected java.awt.Point origin
Origin.


seriesColor

protected java.awt.Color[] seriesColor
Series colors.


numbering

protected boolean numbering
Axis numbering.


xNumberFormat

protected java.text.NumberFormat xNumberFormat

yNumberFormat

protected java.text.NumberFormat yNumberFormat

gridLines

protected boolean gridLines

scalePad

protected final int scalePad
Padding.

See Also:
Constant Field Values

axisPad

protected final int axisPad
See Also:
Constant Field Values

leftAxisPad

protected int leftAxisPad
Constructor Detail

Histogram

public Histogram(Graph2DModel gm)
Constructs a histogram.

Method Detail

setModel

public final void setModel(Graph2DModel gm)
Sets the data plotted by this graph to the specified data.


getModel

public final Graph2DModel getModel()
Returns the model used by this graph.


dataChanged

public void dataChanged(GraphDataEvent e)
Implementation of GraphDataListener. Application code will not use this method explicitly, it is used internally.

Specified by:
dataChanged in interface GraphDataListener

setNumbering

public final void setNumbering(boolean flag)
Turns axis numbering on/off. Default is on.


addNotify

public void addNotify()
Overrides:
addNotify in class java.awt.Canvas

setNumberFormat

public final void setNumberFormat(java.text.NumberFormat format)
Sets the display format used for axis numbering. Convenience method.

See Also:
setXNumberFormat(NumberFormat), setYNumberFormat(NumberFormat)

setXNumberFormat

public final void setXNumberFormat(java.text.NumberFormat format)
Sets the display format used for x-axis numbering.


setYNumberFormat

public final void setYNumberFormat(java.text.NumberFormat format)
Sets the display format used for y-axis numbering.


setGridLines

public final void setGridLines(boolean flag)
Turns grid lines on/off. Default is off.


setXIncrement

public final void setXIncrement(float dx)
Sets the x-axis numbering increment.

Parameters:
dx - use 0.0f for auto-adjusting (default).

getXIncrement

public final float getXIncrement()
Returns the x-axis numbering increment.


setYIncrement

public final void setYIncrement(float dy)
Sets the y-axis numbering increment.

Parameters:
dy - use 0.0f for auto-adjusting (default).

getYIncrement

public final float getYIncrement()
Returns the y-axis numbering increment.


setXExtrema

public final void setXExtrema(float min,
                              float max)
Sets the minimum/maximum values on the x-axis. Set both min and max to 0.0f for auto-adjusting (default).


setXExtrema

public final void setXExtrema(float min,
                              float max,
                              float growth)

getXMinimum

public final float getXMinimum()

getXMaximum

public final float getXMaximum()

setYExtrema

public final void setYExtrema(float min,
                              float max)
Sets the minimum/maximum values on the y-axis. Set both min and max to 0.0f for auto-adjusting (default).


setYExtrema

public final void setYExtrema(float min,
                              float max,
                              float growth)

getYMinimum

public final float getYMinimum()

getYMaximum

public final float getYMaximum()

getExtrema

public final java.awt.geom.Rectangle2D.Float getExtrema()
Returns the bounding box for the axis extrema.


setColor

public final void setColor(int n,
                           java.awt.Color c)
Sets the color of the nth y-series.

Parameters:
n - the index of the y-series.
c - the line color.

getColor

public final java.awt.Color getColor(int n)
Gets the color of the nth y-series.

Parameters:
n - the index of the y-series.

setBounds

public final void setBounds(int x,
                            int y,
                            int width,
                            int height)
Reshapes this graph to the specified bounding box.

Overrides:
setBounds in class java.awt.Component

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns the preferred size of this component.

Overrides:
getPreferredSize in class java.awt.Component

getMinimumSize

public java.awt.Dimension getMinimumSize()
Returns the minimum size of this component.

Overrides:
getMinimumSize in class java.awt.Component

rescale

protected final void rescale()
Rescales this graph.


dataToScreen

protected final java.awt.Point dataToScreen(float x,
                                            float y)
Converts a data point to screen coordinates.


screenToData

protected final java.awt.geom.Point2D.Float screenToData(java.awt.Point p)
Converts a screen point to data coordinates.


drawAxes

protected final void drawAxes(java.awt.Graphics g)
Draws the graph axes.


drawXLabel

protected void drawXLabel(java.awt.Graphics g,
                          double x,
                          java.awt.Point p)

drawYLabel

protected void drawYLabel(java.awt.Graphics g,
                          double y,
                          java.awt.Point p)

drawData

protected void drawData(java.awt.Graphics g)
Draws the graph data. Override this method to change how the graph data is plotted.


offscreenPaint

protected void offscreenPaint(java.awt.Graphics g)
Paints the graph (draws the graph axes and data).

Specified by:
offscreenPaint in class DoubleBufferedCanvas