Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## sim.util.gui
Class MiniHistogram

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      sim.util.gui.MiniHistogram

All Implemented Interfaces:
  javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class MiniHistogram
extends javax.swing.JPanel

A very simple histogram class. Displays values as different colors left to right. Tooltips pop up describing the actual buckets and their densities.

This class can be used to describe any one-dimensional array of doubles: just provide an array of doubles to setBuckets and it'll show them on-screen. If you change the doubles in that array, no need to call setBuckets again: as soon as a repaint occurs, MiniHistogram will update them. You can also provide a set of bucket labels, one for each bucket, which get popped up in the tooltip along with the current bucket value.

As the class was created to describe histograms in particular, it has two functions (makeBuckets and makeBucketLabels) which do just that. Sample usage. The following values are placed into a histogram of four buckets. ``

        MiniHistogram m = new MiniHistogram();
        double[] d = new double[] {1, 1, 1, 1, 2, 2, 5, 1, 2, 3, 1, 2, 1, 1, 5, 4};
        m.setBuckets(m.makeBuckets(d, 4, 1, 5, false));
        m.setBucketLabels(m.makeBucketLabels(4, 1, 5));

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary

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
`MiniHistogram()`
`MiniHistogram(double[] buckets, java.lang.String[] labels)`

Method Summary
`java.awt.Dimension` | `getMinimumSize()`
`java.awt.Dimension` | `getPreferredSize()`
`static java.lang.String[]` | `makeBucketLabels(int numBuckets, double min, double max, boolean logScale)` Generates a set of numBuckets bucket labels appropriate for use in a histogram.
`static double[]` | `makeBuckets(double[] vals, int numBuckets, double min, double max, boolean logScale)` Generates a set of numBuckets buckets describing a histogram over the provided values in vals.
`static double` | `maximum(double[] vals)` Returns the minimum over the provided vals.
`static double` | `minimum(double[] vals)` Returns the minimum over the provided vals.
`void` | `paintComponent(java.awt.Graphics graphics)`
`void` | `setBucketLabels(java.lang.String[] labels)` Sets labels for the buckets provided in setBuckets.
`void` | `setBuckets(double[] buckets)` Sets the displayed bucket array.
`void` | `setBucketsAndLabels(double[] buckets, java.lang.String[] labels)`

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

### MiniHistogram

    public MiniHistogram()

### MiniHistogram

    public MiniHistogram(double[] buckets,
                         java.lang.String[] labels)

Method Detail

### getPreferredSize

    public java.awt.Dimension getPreferredSize()

### getMinimumSize

    public java.awt.Dimension getMinimumSize()

### setBuckets

    public void setBuckets(double[] buckets)

  Sets the displayed bucket array. If you change values in the provided array, then MiniHistogram will update itself appropriately on next repaint.

### setBucketLabels

    public void setBucketLabels(java.lang.String[] labels)

  Sets labels for the buckets provided in setBuckets.

### setBucketsAndLabels

    public void setBucketsAndLabels(double[] buckets,
                                    java.lang.String[] labels)

### paintComponent

    public void paintComponent(java.awt.Graphics graphics)

### makeBucketLabels

    public static java.lang.String[] makeBucketLabels(int numBuckets,
                                                      double min,
                                                      double max,
                                                      boolean logScale)

  Generates a set of numBuckets bucket labels appropriate for use in a histogram. The values numBuckets, min, and max should be the same values you had provided to makeBuckets(...). Pass the resulting array into the setBuckets(...) function.

### minimum

    public static double minimum(double[] vals)

  Returns the minimum over the provided vals. You might use this to set the minimum in makeBuckets if you don't have a prescribed minimum

### maximum

    public static double maximum(double[] vals)

  Returns the minimum over the provided vals. You might use this to set the minimum in makeBuckets if you don't have a prescribed minimum

### makeBuckets

    public static double[] makeBuckets(double[] vals,
                                       int numBuckets,
                                       double min,
                                       double max,
                                       boolean logScale)

  Generates a set of numBuckets buckets describing a histogram over the provided values in vals. min and max describe the ends of the histogram, inclusive: values outside those ranges are discarded. You can tell the histogram to bucket based on a log scale if you like (min and max are computed prior to log)), and in this case all values less than 0 are discarded as well. Pass the resulting array into the setBuckets(...) function.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD