Package weka.gui.visualize
Class VisualizePanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- weka.gui.visualize.PrintablePanel
-
- weka.gui.visualize.VisualizePanel
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,PrintableHandler
- Direct Known Subclasses:
ThresholdVisualizePanel
public class VisualizePanel extends PrintablePanel
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: 7406 $
- 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
-
-
Constructor Summary
Constructors Constructor Description VisualizePanel()
ConstructorVisualizePanel(VisualizePanelListener ls)
This constructor allows a VisualizePanelListener to be set.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionListener(java.awt.event.ActionListener act)
Add a listener for this visualize panelvoid
addPlot(PlotData2D newPlot)
Set a new plot to the visualize panelint
getCIndex()
Get the index of the attribute selected for coloringInstances
getInstances()
Get the master plot's instancesjava.lang.String
getName()
Returns the name associated with this plot.weka.gui.visualize.VisualizePanel.PlotPanel
getPlotPanel()
Returns the underlying plot panel.boolean
getShowAttBars()
Gets whether or not attribute bars are being displayed.boolean
getShowClassPanel()
Gets whether or not the class panel is being displayed.int
getSIndex()
Get the index of the shape selected for creating splits.int
getXIndex()
Get the index of the attribute on the x axisint
getYIndex()
Get the index of the attribute on the y axisstatic void
main(java.lang.String[] args)
Main method for testing this classvoid
removeAllPlots()
Removes all the plots.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 messagesvoid
setMasterPlot(PlotData2D newPlot)
Set the master plot for the visualize panelvoid
setName(java.lang.String plotName)
Set a name for this plotvoid
setShapes(FastVector l)
This will set the shapes for the instances.void
setShowAttBars(boolean sab)
Set whether the attribute bars should be shown or not.void
setShowClassPanel(boolean scp)
Set whether the class panel should be shown or not.void
setSIndex(int index)
Set the shape for creating splits.void
setUpComboBoxes(Instances inst)
initializes the comboboxes based on the datavoid
setXIndex(int index)
Set the index of the attribute for the x axisvoid
setYIndex(int index)
Set the index of the attribute for the y axis-
Methods inherited from class weka.gui.visualize.PrintablePanel
getSaveDialogTitle, getWriter, getWriters, getXScale, getYScale, saveComponent, setSaveDialogTitle, setScale
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, 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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
VisualizePanel
public VisualizePanel(VisualizePanelListener ls)
This constructor allows a VisualizePanelListener to be set.- Parameters:
ls
- the listener to use
-
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
-
setShowAttBars
public void setShowAttBars(boolean sab)
Set whether the attribute bars should be shown or not. If turned off via this method then any setting in the properties file (if exists) is ignored.- Parameters:
sab
- false if attribute bars are not to be displayed.
-
getShowAttBars
public boolean getShowAttBars()
Gets whether or not attribute bars are being displayed.- Returns:
- true if attribute bars are being displayed.
-
setShowClassPanel
public void setShowClassPanel(boolean scp)
Set whether the class panel should be shown or not.- Parameters:
scp
- false if class panel is not to be displayed
-
getShowClassPanel
public boolean getShowClassPanel()
Gets whether or not the class panel is being displayed.- Returns:
- true if the class panel is being displayed.
-
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 classjava.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 classjava.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)
initializes the comboboxes based on the data- Parameters:
inst
- the data to base the combobox-setup on
-
removeAllPlots
public void removeAllPlots()
Removes all the plots.
-
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
-
getPlotPanel
public weka.gui.visualize.VisualizePanel.PlotPanel getPlotPanel()
Returns the underlying plot panel.- Returns:
- the plot panel
-
main
public static void main(java.lang.String[] args)
Main method for testing this class- Parameters:
args
- the commandline parameters
-
-