# Class DistributionGraph

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.apache.jmeter.visualizers.DistributionGraph

All Implemented Interfaces:
  `ImageObserver, MenuContainer, Serializable, Scrollable, Clearable`

public class DistributionGraph extends JComponent implements Scrollable, Clearable
New graph for drawing distribution graph of the results. It is intended as a way to view the data after the stress has been performed. Although it can be used at runtime, it is not recommended, since it is rather intensive. The graph will draw a red line at 90% and an orange line at 50%. I like distribution graphs because they allow me to see how the data clumps. In general, the data will tend to clump in predictable ways when the application is well designed and implemented. Data that generates erratic graphs are generally not desirable.

See Also:
  - Serialized Form

## Nested Class Summary

### Nested classes/interfaces inherited from class JComponent

`JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class Container

`Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

## Field Summary

### Fields inherited from class JComponent

`listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

### Fields inherited from class Component

`accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

### Fields inherited from interface ImageObserver

`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

Constructors
Constructor
Description
`DistributionGraph()`
Constructor for the Graph object.
`DistributionGraph(SamplingStatCalculator model)`
Constructor for the Graph object.

## Method Summary

Modifier and Type
Method
Description
`void`
`clearData()`
Clears this graph.
`Dimension`
`getPreferredScrollableViewportSize()`
Gets the PreferredScrollableViewportSize attribute of the Graph object.
`int`
`getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)`
Gets the ScrollableBlockIncrement attribute of the Graph object.
`boolean`
`getScrollableTracksViewportHeight()`
Gets the ScrollableTracksViewportHeight attribute of the Graph object.
`boolean`
`getScrollableTracksViewportWidth()`
Gets the ScrollableTracksViewportWidth attribute of the Graph object.
`int`
`getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)`
Gets the ScrollableUnitIncrement attribute of the Graph object.
`void`
`paintComponent(Graphics g)`
Method is responsible for calling drawSample and updating the graph.

### Methods inherited from class 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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI`

### Methods inherited from class 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, transferFocusDownCycle, validate, validateTree`

### Methods inherited from class 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, getAccessibleContext, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### DistributionGraph

public DistributionGraph()
Constructor for the Graph object.

### DistributionGraph

public DistributionGraph(SamplingStatCalculator model)
Constructor for the Graph object.

Parameters:
  `model` - The container for the aggregated sample data

## Method Details

### getScrollableTracksViewportWidth

public boolean getScrollableTracksViewportWidth()
Gets the ScrollableTracksViewportWidth attribute of the Graph object.

Specified by:
  `getScrollableTracksViewportWidth` in interface `Scrollable`
Returns:
  the ScrollableTracksViewportWidth value

### getScrollableTracksViewportHeight

public boolean getScrollableTracksViewportHeight()
Gets the ScrollableTracksViewportHeight attribute of the Graph object.

Specified by:
  `getScrollableTracksViewportHeight` in interface `Scrollable`
Returns:
  the ScrollableTracksViewportHeight value

### getPreferredScrollableViewportSize

public Dimension getPreferredScrollableViewportSize()
Gets the PreferredScrollableViewportSize attribute of the Graph object.

Specified by:
  `getPreferredScrollableViewportSize` in interface `Scrollable`
Returns:
  the PreferredScrollableViewportSize value

### getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Gets the ScrollableUnitIncrement attribute of the Graph object.

Specified by:
  `getScrollableUnitIncrement` in interface `Scrollable`
Returns:
  the ScrollableUnitIncrement value

### getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Gets the ScrollableBlockIncrement attribute of the Graph object.

Specified by:
  `getScrollableBlockIncrement` in interface `Scrollable`
Returns:
  the ScrollableBlockIncrement value

### clearData

public void clearData()
Clears this graph.

Specified by:
  `clearData` in interface `Clearable`

### paintComponent

public void paintComponent(Graphics g)
Method is responsible for calling drawSample and updating the graph.

Overrides:
  `paintComponent` in class `JComponent`