weka.gui.visualize
Class VisualizePanel.PlotPanel

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

protected class VisualizePanel.PlotPanel
extends javax.swing.JPanel
implements Plot2DCompanion

Inner class to handle plotting

See Also:
Serialized Form

Nested Class Summary
 
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
protected  int m_cIndex
           
protected  PlotData2D m_originalPlot
          The master plot
protected  Plot2D m_plot2D
          The actual generic plotting panel
protected  Instances m_plotInstances
          The instances from the master plot
protected  int m_sIndex
           
protected  int m_xIndex
          Indexes of the attributes to go on the x and y axis and the attribute to use for colouring and the current shape for drawing
protected  int m_yIndex
           
 
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.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.PlotPanel()
          Constructor
 
Method Summary
 void addPlot(PlotData2D newPlot)
          Adds a plot.
 void cancelShapes()
          Sets the list of shapes to empty and also cancels the current shape being drawn (if applicable).
 FastVector getShapes()
           
 boolean inSplit(Instance i)
          This will check if an instance is inside or outside of the current shapes.
 void prePlot(java.awt.Graphics gx)
          Renders the polygons if necessary
 void setCindex(int c)
          Set the index of the attribute to use for colouring
 void setColours(FastVector cols)
          Set a list of colours to use for plotting points
 void setJitter(int j)
          Set level of jitter and repaint the plot using the new jitter value
 void setMasterPlot(PlotData2D newPlot)
          Clears all existing plots and sets a new master plot
 void setShapes(FastVector v)
          This can be used to set the shapes that should appear.
 void setSindex(int s)
          Set the index of the attribute to use for the shape.
 void setXindex(int x)
          Set the index of the attribute to go on the x axis
 void setYindex(int y)
          Set the index of the attribute to go on the y axis
protected  void switchToLegend()
          Remove the attibute panel and replace it with the legend panel
 
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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, 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_plot2D

protected Plot2D m_plot2D
The actual generic plotting panel


m_plotInstances

protected Instances m_plotInstances
The instances from the master plot


m_originalPlot

protected PlotData2D m_originalPlot
The master plot


m_xIndex

protected int m_xIndex
Indexes of the attributes to go on the x and y axis and the attribute to use for colouring and the current shape for drawing


m_yIndex

protected int m_yIndex

m_cIndex

protected int m_cIndex

m_sIndex

protected int m_sIndex
Constructor Detail

VisualizePanel.PlotPanel

public VisualizePanel.PlotPanel()
Constructor

Method Detail

getShapes

public FastVector getShapes()
Returns:
The FastVector containing all the shapes.

cancelShapes

public void cancelShapes()
Sets the list of shapes to empty and also cancels the current shape being drawn (if applicable).


setShapes

public void setShapes(FastVector v)
This can be used to set the shapes that should appear.

Parameters:
v - The list of shapes.

inSplit

public boolean inSplit(Instance i)
This will check if an instance is inside or outside of the current shapes.

Parameters:
i - The instance to check.
Returns:
True if 'i' falls inside the shapes, false otherwise.

setJitter

public void setJitter(int j)
Set level of jitter and repaint the plot using the new jitter value

Parameters:
j - the level of jitter

setXindex

public void setXindex(int x)
Set the index of the attribute to go on the x axis

Parameters:
x - the index of the attribute to use on the x axis

setYindex

public void setYindex(int y)
Set the index of the attribute to go on the y axis

Parameters:
y - the index of the attribute to use on the y axis

setCindex

public void setCindex(int c)
Set the index of the attribute to use for colouring

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

setSindex

public void setSindex(int s)
Set the index of the attribute to use for the shape.

Parameters:
s - the index of the attribute to use for the shape

setMasterPlot

public void setMasterPlot(PlotData2D newPlot)
                   throws java.lang.Exception
Clears all existing plots and sets a new master plot

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

addPlot

public void addPlot(PlotData2D newPlot)
             throws java.lang.Exception
Adds a plot. If there are no plots so far this plot becomes the master plot and, if it has a custom colour defined then the class panel is removed.

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

switchToLegend

protected void switchToLegend()
Remove the attibute panel and replace it with the legend panel


setColours

public void setColours(FastVector cols)
Set a list of colours to use for plotting points

Parameters:
cols - a list of java.awt.Colors

prePlot

public void prePlot(java.awt.Graphics gx)
Renders the polygons if necessary

Specified by:
prePlot in interface Plot2DCompanion
Parameters:
gx - the graphics context