org.apache.jmeter.visualizers

## Class LineGraph

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - org.apache.jmeter.visualizers.LineGraph

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible

      public class LineGraph
      extends JPanel

  Axis graph is used by StatGraphVisualizer, which generates bar graphs from the statistical data.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

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

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double[][]` | `data`
    `protected int` | `height`
    `protected int` | `paint_counter`
    `protected int` | `shape_counter`
    `protected String` | `title`
    `protected int` | `width`
    `protected String[]` | `xAxisLabels`
    `protected String` | `xAxisTitle`
    `protected String[]` | `yAxisLabel`
    `protected String` | `yAxisTitle`

    - ### Fields inherited from class javax.swing.JComponent

      `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

      `accessibleContext, 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

    Constructors
    Constructor and Description
    `LineGraph()`
    `LineGraph(LayoutManager layout)`
    `LineGraph(LayoutManager layout, boolean isDoubleBuffered)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Paint[]` | `createPaint(int count)` return an array of Paint with different colors.
    `Shape[]` | `createShapes(int count)` Since we only have 4 shapes, the method will start with the first shape and keep cycling through the shapes in order.
    `Stroke[]` | `createStrokes(int count)` Create a given number of `Stroke`s
    `Paint` | `nextPaint()` The method will return the next paint color in the PAINT_ARRAY.
    `Shape` | `nextShape()` Return the next shape
    `Stroke` | `nextStroke()` method always return a new BasicStroke with 1.0f weight
    `void` | `paintComponent(Graphics g)`
    `void` | `setData(double[][] data)`
    `void` | `setHeight(int h)`
    `void` | `setTitle(String title)`
    `void` | `setWidth(int w)`
    `void` | `setXAxisLabels(String[] labels)`
    `void` | `setXAxisTitle(String title)`
    `void` | `setYAxisLabels(String[] label)`
    `void` | `setYAxisTitle(String title)`

    - ### 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### data

          protected double[][] data

    - #### title

          protected String title

    - #### xAxisTitle

          protected String xAxisTitle

    - #### yAxisTitle

          protected String yAxisTitle

    - #### xAxisLabels

          protected String[] xAxisLabels

    - #### yAxisLabel

          protected String[] yAxisLabel

    - #### width

          protected int width

    - #### height

          protected int height

    - #### shape_counter

          protected int shape_counter

    - #### paint_counter

          protected int paint_counter

  - ### Constructor Detail

    - #### LineGraph

          public LineGraph()

    - #### LineGraph

          public LineGraph(LayoutManager layout)

      Parameters:
        `layout` - The `LayoutManager` to be used

    - #### LineGraph

          public LineGraph(LayoutManager layout,
                           boolean isDoubleBuffered)

      Parameters:
        `layout` - The `LayoutManager` to be used
        `isDoubleBuffered` - Flag whether double buffering should be used

  - ### Method Detail

    - #### setData

          public void setData(double[][] data)

    - #### setTitle

          public void setTitle(String title)

    - #### setXAxisTitle

          public void setXAxisTitle(String title)

    - #### setYAxisTitle

          public void setYAxisTitle(String title)

    - #### setXAxisLabels

          public void setXAxisLabels(String[] labels)

    - #### setYAxisLabels

          public void setYAxisLabels(String[] label)

    - #### setWidth

          public void setWidth(int w)

    - #### setHeight

          public void setHeight(int h)

    - #### paintComponent

          public void paintComponent(Graphics g)

      Overrides:
        `paintComponent` in class `JComponent`

    - #### createShapes

          public Shape[] createShapes(int count)

      Since we only have 4 shapes, the method will start with the first shape and keep cycling through the shapes in order.
      Parameters:
        `count` - The number of shapes to be created
      Returns:
        the first n shapes

    - #### nextShape

          public Shape nextShape()

      Return the next shape
      Returns:
        the next shape

    - #### createStrokes

          public Stroke[] createStrokes(int count)

      Create a given number of `Stroke`s
      Parameters:
        `count` - The number of strokes to be created
      Returns:
        the first `count` strokes

    - #### nextStroke

          public Stroke nextStroke()

      method always return a new BasicStroke with 1.0f weight
      Returns:
        a new BasicStroke with 1.0f weight

    - #### createPaint

          public Paint[] createPaint(int count)

      return an array of Paint with different colors. The current implementation will cycle through 12 colors if a line graph has more than 12 entries
      Parameters:
        `count` - The number of `Paint`s to be created
      Returns:
        an array of Paint with different colors

    - #### nextPaint

          public Paint nextPaint()

      The method will return the next paint color in the PAINT_ARRAY. Rather than return a random color, we want it to always go through the same sequence. This way, the same charts will always use the same color and make it easier to compare side by side.
      Returns:
        the next paint color in the PAINT_ARRAY

Copyright © 1998-2021 Apache Software Foundation. All Rights Reserved.