weka.gui
Class AttributeVisualizationPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byweka.gui.AttributeVisualizationPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class AttributeVisualizationPanel
extends javax.swing.JPanel

Creates a panel that shows a visualization of an attribute in a dataset. For nominal attribute it shows a bar plot, with each bar corresponding to each nominal value of the attribute with its height equal to the frequecy that value appears in the dataset. For numeric attributes, it displays a histogram. The number of intervals in the histogram is 10% of the number of instances in the dataset, otherwise number of intervals is equal to the width of this panel in pixels minus 6 (if that 10% figure is > width).

Version:
$Revision: 1.11 $
Author:
Ashraf M. Kibriya (amk14@cs.waikato.ac.nz)
See Also:
Serialized Form

Nested Class Summary
private  class AttributeVisualizationPanel.BarCalc
           
private  class AttributeVisualizationPanel.HistCalc
           
 
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
(package private)  AttributeStats as
           
(package private)  int attribIndex
           
(package private)  int classIndex
           
(package private)  java.awt.FontMetrics fm
           
(package private)  java.lang.Thread hc
           
(package private)  int[][] histBarClassCounts
           
(package private)  int[] histBarCounts
           
(package private)  double m_barRange
           
(package private)  javax.swing.JComboBox m_colorAttrib
           
private  FastVector m_colorList
          Contains discrete colours for colouring for nominal attributes
(package private)  Instances m_data
           
private static java.awt.Color[] m_defaultColors
          default colour list
private  java.lang.Integer m_locker
           
(package private)  int maxValue
           
(package private)  boolean threadRun
           
 
Fields inherited from class javax.swing.JPanel
 
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.Container
 
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
AttributeVisualizationPanel()
           
AttributeVisualizationPanel(boolean showColouringOption)
           
 
Method Summary
 void calcGraph()
           
 javax.swing.JComboBox getColorBox()
           
 int getColoringIndex()
          Get the coloring index for the plot
 java.lang.String getToolTipText(java.awt.event.MouseEvent ev)
          Returns "<nominal value> [<nominal value count>]" if displaying a bar plot and mouse is on some bar.
static void main(java.lang.String[] args)
          Main method to test this class from command line
 void paintComponent(java.awt.Graphics g)
          Paints this component
 void setAttribute(int index)
          Tells the panel which attribute to visualize.
 void setColoringIndex(int ci)
          Set the coloring index for the plot
 void setInstances(Instances newins)
          Sets the instances for use
 
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, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, 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
 

Field Detail

m_data

Instances m_data

as

AttributeStats as

attribIndex

int attribIndex

maxValue

int maxValue

histBarCounts

int[] histBarCounts

histBarClassCounts

int[][] histBarClassCounts

m_barRange

double m_barRange

classIndex

int classIndex

hc

java.lang.Thread hc

threadRun

boolean threadRun

m_colorAttrib

javax.swing.JComboBox m_colorAttrib

fm

java.awt.FontMetrics fm

m_locker

private java.lang.Integer m_locker

m_colorList

private FastVector m_colorList
Contains discrete colours for colouring for nominal attributes


m_defaultColors

private static final java.awt.Color[] m_defaultColors
default colour list

Constructor Detail

AttributeVisualizationPanel

public AttributeVisualizationPanel()

AttributeVisualizationPanel

public AttributeVisualizationPanel(boolean showColouringOption)
Method Detail

setInstances

public void setInstances(Instances newins)
Sets the instances for use

Parameters:
newins - a set of Instances

getColorBox

public javax.swing.JComboBox getColorBox()

getColoringIndex

public int getColoringIndex()
Get the coloring index for the plot

Returns:
an int value

setColoringIndex

public void setColoringIndex(int ci)
Set the coloring index for the plot

Parameters:
ci - an int value

setAttribute

public void setAttribute(int index)
Tells the panel which attribute to visualize.

Parameters:
index - The index of the attribute

calcGraph

public void calcGraph()

getToolTipText

public java.lang.String getToolTipText(java.awt.event.MouseEvent ev)
Returns "<nominal value> [<nominal value count>]" if displaying a bar plot and mouse is on some bar. If displaying histogram then it
  • returns "count <br> [<bars Range>]" if mouse is on the first bar.
  • returns "count <br> (<bar's Range>]" if mouse is on some bar other than the first one.
  • Otherwise it returns ""

    Parameters:
    ev - The mouse event

    paintComponent

    public void paintComponent(java.awt.Graphics g)
    Paints this component

    Parameters:
    g - The graphics object for this component

    main

    public static void main(java.lang.String[] args)
    Main method to test this class from command line

    Parameters:
    args - The arff file and the index of the attribute to use