edu.uah.math.devices
Class UserScatterPlot

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by edu.uah.math.devices.Graph
                      extended by edu.uah.math.devices.ScatterPlot
                          extended by edu.uah.math.devices.UserScatterPlot
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class UserScatterPlot
extends ScatterPlot
implements java.awt.event.MouseListener

This class models an interactive scatterplot. The user adds data points by clicking in the graph. The data points are shown as red dots. The mean and standard deviation for each variable is shown graphically with crosshairs. The regression line is also shown.

Version:
August, 2003
Author:
Dawn Duehring, Kyle Siegrist
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
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
 
Fields inherited from class edu.uah.math.devices.Graph
ABOVE, BELOW, HORIZONTAL, LEFT, RIGHT, showModelDistribution, VERTICAL
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
UserScatterPlot()
          This default constructor creates a new user scatterplot with default common domain (0, 1) with step size 0.1, and with default names "x" and "y".
UserScatterPlot(Domain d)
          This special constructor creates a new user scatterplot with a specified common domain for the variables and with default names "x" and "y".
UserScatterPlot(Domain d1, Domain d2)
          This special constructor creates a new user scatterplot with spcified domains and default names "x" and "y".
UserScatterPlot(Domain d1, java.lang.String n1, Domain d2, java.lang.String n2)
          This general constructor creates a new scatterplot correpsonding to specified domains and names.
UserScatterPlot(Domain d, java.lang.String n1, java.lang.String n2)
          This special constructur creates a new user scatterplot with common domain for the variables, and with specified names.
 
Method Summary
 double getCorrelation()
          This method returns the correlation between the x data and the y data.
 double getCovariance()
          This method returns the covariance between the x data and the y data.
 double getIntercept()
          This method returns the intercept of the regression line between the x data and the y data.
 double getSlope()
          This method returns the slope of the regression line between the x data and the y data.
 IntervalData getXData()
          This method returns the x data as an interval dataset.
 IntervalData getYData()
          This method returns the y data as an interval dataset.
 void mouseClicked(java.awt.event.MouseEvent e)
          This method handles the mouse click event.
 void mouseEntered(java.awt.event.MouseEvent event)
           
 void mouseExited(java.awt.event.MouseEvent event)
           
 void mousePressed(java.awt.event.MouseEvent event)
           
 void mouseReleased(java.awt.event.MouseEvent event)
           
 void paintComponent(java.awt.Graphics g)
          This method paints the scatterplot.
 void reset()
          This method resets the scatterplot by clearing the data.
 
Methods inherited from class edu.uah.math.devices.ScatterPlot
addPoint, addPoint, addPoint, addPoint, getBoxColor, getColor, getColors, getDataSize, getX, getXAxisColor, getXCoordinates, getXDomain, getXName, getY, getYAxisColor, getYCoordinates, getYDomain, getYName, mouseDragged, mouseMoved, resetData, setBoxColor, setDomain, setDomains, setNames, setXAxisColor, setXDomain, setXName, setYAxisColor, setYDomain, setYName
 
Methods inherited from class edu.uah.math.devices.Graph
drawAxis, drawAxis, drawAxis, drawBox, drawBox, drawBoxPlot, drawBoxPlot, drawCircle, drawLabel, drawLine, drawPoint, drawTick, drawTick, fillBox, fillBox, fillBoxPlot, fillBoxPlot, fillCircle, format, getBottomMargin, getLeftMargin, getPointSize, getRightMargin, getTopMargin, getXGraph, getXMax, getXMin, getXPixels, getXScale, getYGraph, getYMax, getYMin, getYPixels, getYScale, setMargins, setPointSize, setScale, setShowModelDistribution
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UserScatterPlot

public UserScatterPlot(Domain d1,
                       java.lang.String n1,
                       Domain d2,
                       java.lang.String n2)
This general constructor creates a new scatterplot correpsonding to specified domains and names. The x and y interval datasets are created to hold the data.

Parameters:
d1 - the domain of the x variable
n1 - the name of the x variable
d2 - the domain of the y variable
n2 - the name of the y variable

UserScatterPlot

public UserScatterPlot(Domain d1,
                       Domain d2)
This special constructor creates a new user scatterplot with spcified domains and default names "x" and "y".

Parameters:
d1 - the domain of the x variable
d2 - the domain of the y variable

UserScatterPlot

public UserScatterPlot(Domain d,
                       java.lang.String n1,
                       java.lang.String n2)
This special constructur creates a new user scatterplot with common domain for the variables, and with specified names.

Parameters:
d - the common domain of the x and y variables
n1 - the name of the x variable
n2 - the name of the y variable

UserScatterPlot

public UserScatterPlot(Domain d)
This special constructor creates a new user scatterplot with a specified common domain for the variables and with default names "x" and "y".

Parameters:
d - the common domain of the x and y variables

UserScatterPlot

public UserScatterPlot()
This default constructor creates a new user scatterplot with default common domain (0, 1) with step size 0.1, and with default names "x" and "y".

Method Detail

paintComponent

public void paintComponent(java.awt.Graphics g)
This method paints the scatterplot. A horizontal green line is centered at the mean of the x data and extends one standard deviation in each direction. A vertical blue line is centered at the mean of the y data and extends one standard deviation in each direction. The regression line is shown in red.

Overrides:
paintComponent in class ScatterPlot
Parameters:
g - the graphics context

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
This method handles the mouse click event. The new point is added to the dataset.

Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - the mouse event

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent event)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent event)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent event)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent event)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

reset

public void reset()
This method resets the scatterplot by clearing the data.

Overrides:
reset in class ScatterPlot

getCovariance

public double getCovariance()
This method returns the covariance between the x data and the y data.

Returns:
the covariance

getCorrelation

public double getCorrelation()
This method returns the correlation between the x data and the y data.

Returns:
the correlation

getSlope

public double getSlope()
This method returns the slope of the regression line between the x data and the y data.

Returns:
the slope

getIntercept

public double getIntercept()
This method returns the intercept of the regression line between the x data and the y data.

Returns:
the intercept

getXData

public IntervalData getXData()
This method returns the x data as an interval dataset.

Returns:
the x interval dataset

getYData

public IntervalData getYData()
This method returns the y data as an interval dataset.

Returns:
the y interval data set