weka.gui.visualize
Class VisualizePanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--weka.gui.visualize.VisualizePanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
ThresholdVisualizePanel

public class VisualizePanel
extends javax.swing.JPanel

This panel allows the user to visualize a dataset (and if provided) a classifier's/clusterer's predictions in two dimensions. If the user selects a nominal attribute as the colouring attribute then each point is drawn in a colour that corresponds to the discrete value of that attribute for the instance. If the user selects a numeric attribute to colour on, then the points are coloured using a spectrum ranging from blue to red (low values to high). When a classifier's predictions are supplied they are plotted in one of two ways (depending on whether the class is nominal or numeric).
For nominal class: an error made by a classifier is plotted as a square in the colour corresponding to the class it predicted.
For numeric class: predictions are plotted as varying sized x's, where the size of the x is related to the magnitude of the error.

Version:
$Revision: 1.20 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz), Malcolm Ware (mfw4@cs.waikato.ac.nz)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
VisualizePanel()
          Constructor
VisualizePanel(VisualizePanelListener ls)
          This constructor allows a VisualizePanelListener to be set.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener act)
          Add a listener for this visualize panel
 void addPlot(PlotData2D newPlot)
          Set a new plot to the visualize panel
 int getCIndex()
          Get the index of the attribute selected for coloring
 Instances getInstances()
          Get the master plot's instances
 java.lang.String getName()
          Returns the name associated with this plot.
 int getSIndex()
          Get the index of the shape selected for creating splits.
 int getXIndex()
          Get the index of the attribute on the x axis
 int getYIndex()
          Get the index of the attribute on the y axis
static void main(java.lang.String[] args)
          Main method for testing this class
 void setColourIndex(int index)
          Sets the index used for colouring.
 void setInstances(Instances inst)
          Tells the panel to use a new set of instances.
 void setLog(Logger newLog)
          Sets the Logger to receive informational messages
 void setMasterPlot(PlotData2D newPlot)
          Set the master plot for the visualize panel
 void setName(java.lang.String plotName)
          Set a name for this plot
 void setShapes(FastVector l)
          This will set the shapes for the instances.
 void setSIndex(int index)
          Set the shape for creating splits.
 void setUpComboBoxes(Instances inst)
           
 void setXIndex(int index)
          Set the index of the attribute for the x axis
 void setYIndex(int index)
          Set the index of the attribute for the y axis
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, 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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, 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, 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, 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, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VisualizePanel

public VisualizePanel(VisualizePanelListener ls)
This constructor allows a VisualizePanelListener to be set.


VisualizePanel

public VisualizePanel()
Constructor

Method Detail

setLog

public void setLog(Logger newLog)
Sets the Logger to receive informational messages

Parameters:
newLog - the Logger that will now get info messages

setColourIndex

public void setColourIndex(int index)
Sets the index used for colouring. If this method is called then the supplied index is used and the combo box for selecting colouring attribute is disabled.

Parameters:
index - the index of the attribute to use for colouring

setXIndex

public void setXIndex(int index)
               throws java.lang.Exception
Set the index of the attribute for the x axis

Parameters:
index - the index for the x axis
Throws:
java.lang.Exception - if index is out of range.

getXIndex

public int getXIndex()
Get the index of the attribute on the x axis

Returns:
the index of the attribute on the x axis

setYIndex

public void setYIndex(int index)
               throws java.lang.Exception
Set the index of the attribute for the y axis

Parameters:
index - the index for the y axis
Throws:
java.lang.Exception - if index is out of range.

getYIndex

public int getYIndex()
Get the index of the attribute on the y axis

Returns:
the index of the attribute on the x axis

getCIndex

public int getCIndex()
Get the index of the attribute selected for coloring

Returns:
the index of the attribute on the x axis

getSIndex

public int getSIndex()
Get the index of the shape selected for creating splits.

Returns:
The index of the shape.

setSIndex

public void setSIndex(int index)
               throws java.lang.Exception
Set the shape for creating splits.

Parameters:
index - The index of the shape.
Throws:
java.lang.Exception - if index is out of range.

addActionListener

public void addActionListener(java.awt.event.ActionListener act)
Add a listener for this visualize panel

Parameters:
act - an ActionListener

setName

public void setName(java.lang.String plotName)
Set a name for this plot

Overrides:
setName in class java.awt.Component
Parameters:
plotName - the name for the plot

getName

public java.lang.String getName()
Returns the name associated with this plot. "" is returned if no name is set.

Overrides:
getName in class java.awt.Component
Returns:
the name of the plot

getInstances

public Instances getInstances()
Get the master plot's instances

Returns:
the master plot's instances

setShapes

public void setShapes(FastVector l)
This will set the shapes for the instances.

Parameters:
l - A list of the shapes, providing that the objects in the lists are non editable the data will be kept intact.

setInstances

public void setInstances(Instances inst)
Tells the panel to use a new set of instances.

Parameters:
inst - a set of Instances

setUpComboBoxes

public void setUpComboBoxes(Instances inst)

setMasterPlot

public void setMasterPlot(PlotData2D newPlot)
                   throws java.lang.Exception
Set the master plot for the visualize panel

Parameters:
newPlot - the new master plot
Throws:
java.lang.Exception - if the master plot could not be set

addPlot

public void addPlot(PlotData2D newPlot)
             throws java.lang.Exception
Set a new plot to the visualize panel

Parameters:
newPlot - the new plot to add
Throws:
java.lang.Exception - if the plot could not be added

main

public static void main(java.lang.String[] args)
Main method for testing this class



Copyright (c) 2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London