edu.ucla.stat.SOCR.util
Class Graph

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.ucla.stat.SOCR.util.Graph
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
BallotGraph, BertrandFloor, BetaGraph, CoinFloor, DataGraph, DiceDistributionGraph, ErrorGraph, EstimateGraph, Histogram, ModelerHistogramGraph, NeedleFloor, ProbabilityPlot, ProbabilityPlotGraph, QuantileGraph, RandomVariableGraph, RandomWalkGraph, RedBlackGraph, ScatterPlot, Timeline, Triangle, varHistogram

public class Graph
extends javax.swing.JPanel

This class defines a basic two-dimensional graph to be sub-classed. The class provides basic drawing methods

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
static int ABOVE
           
static int BELOW
           
 int bottomMargin
           
static int BOUNDS
           
protected  int currentXLowerBound
           
protected  int currentXUpperBound
           
static int HORIZONTAL
           
static int LEFT
           
 int leftMargin
           
static int MIDPOINTS
           
 int pointSize
           
static int RIGHT
           
 int rightMargin
           
protected  boolean showModelDistribution
           
 int topMargin
           
static int VERTICAL
           
 double xMax
           
 double xMin
           
 double yMax
           
 double yMin
           
 
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
Graph()
          This default constructor creates a new graph with x and y between 0 and 1
Graph(double x0, double x1, double y0, double y1)
          This general constructor creates a new graph with specified ranges on the x an y axes
 
Method Summary
 void drawAxis(java.awt.Graphics g, Domain domain, double c, int orientation, int type)
          This method draws an axis corresponding to a partition of an interval at position c relative to the other variable.
 void drawAxis(java.awt.Graphics g, Domain domain, double c, int orientation, int type, java.util.ArrayList list)
           
 void drawAxis(java.awt.Graphics g, double a, double b, double w, double c, int orientation)
          This method draws an axis corresponding to the partition of [a, b] into subintervals of width w, with tick marks at the partition bounds
 void drawAxis(java.awt.Graphics g, double a, double b, double w, double c, int orientation, java.util.ArrayList list)
           
 void drawAxis(java.awt.Graphics g, double a, double b, double w, double c, int orientation, int type)
          This method draws an axis corresponding to the partition of [a, b] into subintervals of width w, as in the previous method
 void drawAxis(java.awt.Graphics g, double a, double b, double w, double c, int orientation, int type, java.util.ArrayList list)
           
protected  void drawAxisWithDomain(java.awt.Graphics g, Domain domain, double c, int orientation, int type, java.util.ArrayList list)
           
 void drawBox(java.awt.Graphics g, double x0, double y0, double x1, double y1)
          This method draws a box between the specified corner points in scale units
 void drawBox(java.awt.Graphics g, int style, double x, double y, double l, int i, int j)
          Draw a box at the specified x and y coordinates (in scale units) Length l (in scale units) width: i pixels in the negative direction, j in the positive direction
 void drawBoxPlot(java.awt.Graphics g, double x1, double x2, double x3, double x4, double x5, int y)
          The following method draws a five-number, horizontal boxplot.
 void drawBoxPlot(java.awt.Graphics g, double x, double r, int y)
          The following method draws a symmetric, horizontal boxplot, centered at x of radius r (in scale units).
 void drawCircle(java.awt.Graphics g, double x, double y, double r)
          The following methods draw a circle with center (x, y) and radius r (in scale units)
 void drawLabel(java.awt.Graphics g, java.lang.String s, double x, double y, int location)
          This method draws label s to the left, right, above, or below (x, y) (in scale units)
 void drawLine(java.awt.Graphics g, double x1, double y1, double x2, double y2)
          This method draws a line between (x1, y1) and (x2, y2), where the coordinates are in scale units
 void drawPoint(java.awt.Graphics g, double x, double y)
          This method draws a point at the specified x and y coordinates (in scale units)
 void drawTick(java.awt.Graphics g, double x, double y, int orientation)
          This method draws a tick mark at the specified x and y coordinates (in scale units), 3 pixels in the positive direction and 3 in the negative direction
 void drawTick(java.awt.Graphics g, double x, double y, int i, int j, int orientation)
          This method draws a tick mark at the specified x and y coordinates (in scale units), i pixels in the negative direction, j in the positive direction.
 void fillBox(java.awt.Graphics g, double x0, double y0, double x1, double y1)
          This method fills a box between the specified corner points in scale units
 void fillBox(java.awt.Graphics g, int style, double x, double y, double l, int i, int j)
           
 void fillBoxPlot(java.awt.Graphics g, double x1, double x2, double x3, double x4, double x5, int y)
          The following method fills a five-number, horizontal boxplot.
 void fillBoxPlot(java.awt.Graphics g, double x, double r, int y)
          The following method fills a symmetric, horizontal boxplot, centered at x of radius r (in scale units).
 void fillCircle(java.awt.Graphics g, double x, double y, double r)
          The following methods fill a circle with center (x, y) and radius r (in scale units)
 java.lang.String format(double x)
           
 int getPointSize()
          This method returns the points size
 double getXMax()
          This method returns the maximum x value
 double getXMin()
          This method returns the minimum x value
 double getYMax()
          This method returns the maximum y value
 double getYMin()
          This method returns the minimum y value
static boolean isReal(double x)
          This class method tests to see if a specified number is real
static void main(java.lang.String[] args)
           
 void setMargins(int l, int r, int b, int t)
          This method sets the margin (in pixels)
 void setPointSize(int n)
          This method sets the point size (in pixels)
 void setScale(double x0, double x1, double y0, double y1)
          This method sets the minimum and maximum values on the x and y axes
 void setShowModelDistribution(boolean b)
           
 int xGraph(double x)
          This method computes the x coordinate in graph units for a given x in scale units
 double xGraphDouble(double x)
          This method computes the x coordinate in graph units for a given x in scale units
 double xGraphInverse(double xInput)
          This method computes the x scale units for a given x in coordinate in graph units
 int xPixels(double x)
          This method convert x scale units to x pixels
 double xScale(int x)
          This method computes the x coordinate in scale units for a given x in graph units
 int yGraph(double y)
          This method computes the y coordinate in graph units for a given y in scale units
 double yGraphDouble(double y)
          This method computes the y coordinate in graph units for a given y in scale units
 double yGraphInverse(double yInput)
          This method computes the y scale units for a given y in coordinate in graph units
 int yPixels(double y)
          This method converts y scale units to y pixels
 double yScale(int y)
          This method computes the y coordinate in scale units for a given y in graph units
 
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, paintComponent, 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
 

Field Detail

pointSize

public int pointSize

leftMargin

public int leftMargin

rightMargin

public int rightMargin

topMargin

public int topMargin

bottomMargin

public int bottomMargin

xMin

public double xMin

xMax

public double xMax

yMin

public double yMin

yMax

public double yMax

LEFT

public static final int LEFT
See Also:
Constant Field Values

RIGHT

public static final int RIGHT
See Also:
Constant Field Values

ABOVE

public static final int ABOVE
See Also:
Constant Field Values

BELOW

public static final int BELOW
See Also:
Constant Field Values

VERTICAL

public static final int VERTICAL
See Also:
Constant Field Values

HORIZONTAL

public static final int HORIZONTAL
See Also:
Constant Field Values

MIDPOINTS

public static final int MIDPOINTS
See Also:
Constant Field Values

BOUNDS

public static final int BOUNDS
See Also:
Constant Field Values

currentXUpperBound

protected int currentXUpperBound

currentXLowerBound

protected int currentXLowerBound

showModelDistribution

protected boolean showModelDistribution
Constructor Detail

Graph

public Graph(double x0,
             double x1,
             double y0,
             double y1)
This general constructor creates a new graph with specified ranges on the x an y axes


Graph

public Graph()
This default constructor creates a new graph with x and y between 0 and 1

Method Detail

setScale

public void setScale(double x0,
                     double x1,
                     double y0,
                     double y1)
This method sets the minimum and maximum values on the x and y axes


getXMin

public double getXMin()
This method returns the minimum x value


getXMax

public double getXMax()
This method returns the maximum x value


getYMin

public double getYMin()
This method returns the minimum y value


getYMax

public double getYMax()
This method returns the maximum y value


setMargins

public void setMargins(int l,
                       int r,
                       int b,
                       int t)
This method sets the margin (in pixels)


xGraph

public int xGraph(double x)
This method computes the x coordinate in graph units for a given x in scale units


yGraph

public int yGraph(double y)
This method computes the y coordinate in graph units for a given y in scale units


xGraphDouble

public double xGraphDouble(double x)
This method computes the x coordinate in graph units for a given x in scale units


yGraphDouble

public double yGraphDouble(double y)
This method computes the y coordinate in graph units for a given y in scale units


xGraphInverse

public double xGraphInverse(double xInput)
This method computes the x scale units for a given x in coordinate in graph units


yGraphInverse

public double yGraphInverse(double yInput)
This method computes the y scale units for a given y in coordinate in graph units


xScale

public double xScale(int x)
This method computes the x coordinate in scale units for a given x in graph units


yScale

public double yScale(int y)
This method computes the y coordinate in scale units for a given y in graph units


xPixels

public int xPixels(double x)
This method convert x scale units to x pixels


yPixels

public int yPixels(double y)
This method converts y scale units to y pixels


drawLine

public void drawLine(java.awt.Graphics g,
                     double x1,
                     double y1,
                     double x2,
                     double y2)
This method draws a line between (x1, y1) and (x2, y2), where the coordinates are in scale units


drawTick

public void drawTick(java.awt.Graphics g,
                     double x,
                     double y,
                     int i,
                     int j,
                     int orientation)
This method draws a tick mark at the specified x and y coordinates (in scale units), i pixels in the negative direction, j in the positive direction. The variable s is style, either horizontal or vertical.


drawTick

public void drawTick(java.awt.Graphics g,
                     double x,
                     double y,
                     int orientation)
This method draws a tick mark at the specified x and y coordinates (in scale units), 3 pixels in the positive direction and 3 in the negative direction


drawLabel

public void drawLabel(java.awt.Graphics g,
                      java.lang.String s,
                      double x,
                      double y,
                      int location)
This method draws label s to the left, right, above, or below (x, y) (in scale units)


drawAxis

public void drawAxis(java.awt.Graphics g,
                     Domain domain,
                     double c,
                     int orientation,
                     int type)
This method draws an axis corresponding to a partition of an interval at position c relative to the other variable. The orientation indicates style, either horizongal or vertical. The type means that either the midpoints or the bounds are indicated with tick marks. The pattern is the format pattern for the labels


drawAxis

public void drawAxis(java.awt.Graphics g,
                     Domain domain,
                     double c,
                     int orientation,
                     int type,
                     java.util.ArrayList list)

drawAxisWithDomain

protected void drawAxisWithDomain(java.awt.Graphics g,
                                  Domain domain,
                                  double c,
                                  int orientation,
                                  int type,
                                  java.util.ArrayList list)

drawAxis

public void drawAxis(java.awt.Graphics g,
                     double a,
                     double b,
                     double w,
                     double c,
                     int orientation,
                     int type)
This method draws an axis corresponding to the partition of [a, b] into subintervals of width w, as in the previous method


drawAxis

public void drawAxis(java.awt.Graphics g,
                     double a,
                     double b,
                     double w,
                     double c,
                     int orientation,
                     int type,
                     java.util.ArrayList list)

drawAxis

public void drawAxis(java.awt.Graphics g,
                     double a,
                     double b,
                     double w,
                     double c,
                     int orientation)
This method draws an axis corresponding to the partition of [a, b] into subintervals of width w, with tick marks at the partition bounds


drawAxis

public void drawAxis(java.awt.Graphics g,
                     double a,
                     double b,
                     double w,
                     double c,
                     int orientation,
                     java.util.ArrayList list)

drawBox

public void drawBox(java.awt.Graphics g,
                    double x0,
                    double y0,
                    double x1,
                    double y1)
This method draws a box between the specified corner points in scale units


fillBox

public void fillBox(java.awt.Graphics g,
                    double x0,
                    double y0,
                    double x1,
                    double y1)
This method fills a box between the specified corner points in scale units


drawPoint

public void drawPoint(java.awt.Graphics g,
                      double x,
                      double y)
This method draws a point at the specified x and y coordinates (in scale units)


setPointSize

public void setPointSize(int n)
This method sets the point size (in pixels)


getPointSize

public int getPointSize()
This method returns the points size


drawBoxPlot

public void drawBoxPlot(java.awt.Graphics g,
                        double x,
                        double r,
                        int y)
The following method draws a symmetric, horizontal boxplot, centered at x of radius r (in scale units). The variable y is the vertical position, in pixels


fillBoxPlot

public void fillBoxPlot(java.awt.Graphics g,
                        double x,
                        double r,
                        int y)
The following method fills a symmetric, horizontal boxplot, centered at x of radius r (in scale units). The variable y is the vertical position in pixels


drawBoxPlot

public void drawBoxPlot(java.awt.Graphics g,
                        double x1,
                        double x2,
                        double x3,
                        double x4,
                        double x5,
                        int y)
The following method draws a five-number, horizontal boxplot. The variable y is the vertical position, in pixels


fillBoxPlot

public void fillBoxPlot(java.awt.Graphics g,
                        double x1,
                        double x2,
                        double x3,
                        double x4,
                        double x5,
                        int y)
The following method fills a five-number, horizontal boxplot. The variable y is the vertical position, in pixels


drawBox

public void drawBox(java.awt.Graphics g,
                    int style,
                    double x,
                    double y,
                    double l,
                    int i,
                    int j)
Draw a box at the specified x and y coordinates (in scale units) Length l (in scale units) width: i pixels in the negative direction, j in the positive direction


fillBox

public void fillBox(java.awt.Graphics g,
                    int style,
                    double x,
                    double y,
                    double l,
                    int i,
                    int j)

drawCircle

public void drawCircle(java.awt.Graphics g,
                       double x,
                       double y,
                       double r)
The following methods draw a circle with center (x, y) and radius r (in scale units)


fillCircle

public void fillCircle(java.awt.Graphics g,
                       double x,
                       double y,
                       double r)
The following methods fill a circle with center (x, y) and radius r (in scale units)


format

public java.lang.String format(double x)

isReal

public static boolean isReal(double x)
This class method tests to see if a specified number is real


main

public static void main(java.lang.String[] args)

setShowModelDistribution

public void setShowModelDistribution(boolean b)