Package weka.gui.visualize

# Class Plot2D

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.visualize.Plot2D

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

public class Plot2D extends JPanel
This class plots datasets in two dimensions. It can also plot classifier errors and clusterer predictions.

Version:
  $Revision: 7059 $
Author:
  Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## Nested Class Summary

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

`JComponent.AccessibleJComponent`

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

`Component.BaselineResizeBehavior`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`CONST_AUTOMATIC_SHAPE`
`static final int`
`DEFAULT_SHAPE_SIZE`
`static final int`
`DIAMOND_SHAPE`
`static final int`
`ERROR_SHAPE`
`static final int`
`MAX_SHAPES`
`static final int`
`MISSING_SHAPE`
`static final int`
`PLUS_SHAPE`
`static final int`
`TRIANGLEDOWN_SHAPE`
`static final int`
`TRIANGLEUP_SHAPE`
`static final int`
`X_SHAPE`

### 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

Constructors
Constructor
Description
`Plot2D()`
Constructor

## Method Summary

Modifier and Type
Method
Description
`void`
`addPlot(PlotData2D newPlot)`
Add a plot to the list of plots to display
`double`
`convertToAttribX(double scx)`
convert a Panel x coordinate to a raw x value.
`double`
`convertToAttribY(double scy)`
convert a Panel y coordinate to a raw y value.
`double`
`convertToPanelX(double xval)`
Convert an raw x value to Panel x coordinate.
`double`
`convertToPanelY(double yval)`
Convert an raw y value to Panel y coordinate.
`void`
`determineBounds()`
Determine the min and max values for axis and colouring attributes
`PlotData2D`
`getMasterPlot()`
Get the master plot
`double`
`getMaxC()`
Return the current max value of the colouring attribute
`double`
`getMaxX()`
Return the current max value of the attribute plotted on the x axis
`double`
`getMaxY()`
Return the current max value of the attribute plotted on the y axis
`double`
`getMinC()`
Return the current min value of the colouring attribute
`double`
`getMinX()`
Return the current min value of the attribute plotted on the x axis
`double`
`getMinY()`
Return the current min value of the attribute plotted on the y axis
`FastVector`
`getPlots()`
Return the list of plots
`static void`
`main(String[] args)`
Main method for testing this class
`void`
`paintComponent(Graphics gx)`
Renders this component
`void`
`removeAllPlots()`
Clears all plots
`void`
`searchPoints(int x, int y, boolean newFrame)`
Pops up a window displaying attribute information on any instances at a point+-plotting_point_size (in panel coordinates)
`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 when colouring points according to class values or cluster numbers
`void`
`setInstances(Instances inst)`
Sets the master plot from a set of instances
`void`
`setJitter(int j)`
Set level of jitter and repaint the plot using the new jitter value
`void`
`setMasterPlot(PlotData2D master)`
Set the master plot.
`void`
`setPlotCompanion(Plot2DCompanion p)`
Set a companion class.
`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

### 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, getName, 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, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

## Field Details

### MAX_SHAPES

public static final int MAX_SHAPES

See Also:
  - Constant Field Values

### ERROR_SHAPE

public static final int ERROR_SHAPE

See Also:
  - Constant Field Values

### MISSING_SHAPE

public static final int MISSING_SHAPE

See Also:
  - Constant Field Values

### CONST_AUTOMATIC_SHAPE

public static final int CONST_AUTOMATIC_SHAPE

See Also:
  - Constant Field Values

### X_SHAPE

public static final int X_SHAPE

See Also:
  - Constant Field Values

### PLUS_SHAPE

public static final int PLUS_SHAPE

See Also:
  - Constant Field Values

### DIAMOND_SHAPE

public static final int DIAMOND_SHAPE

See Also:
  - Constant Field Values

### TRIANGLEUP_SHAPE

public static final int TRIANGLEUP_SHAPE

See Also:
  - Constant Field Values

### TRIANGLEDOWN_SHAPE

public static final int TRIANGLEDOWN_SHAPE

See Also:
  - Constant Field Values

### DEFAULT_SHAPE_SIZE

public static final int DEFAULT_SHAPE_SIZE

See Also:
  - Constant Field Values

## Constructor Details

### Plot2D

public Plot2D()
Constructor

## Method Details

### setPlotCompanion

public void setPlotCompanion(Plot2DCompanion p)
Set a companion class. This is a class that might want to render something on the plot before we do our thing. Eg, Malcolm's shape drawing stuff needs to happen before we plot axis and points

Parameters:
  `p` - a companion class

### 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

### setColours

public void setColours(FastVector cols)
Set a list of colours to use when colouring points according to class values or cluster numbers

Parameters:
  `cols` - the list of colours to use

### 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

### getPlots

public FastVector getPlots()
Return the list of plots

Returns:
  the list of plots

### getMasterPlot

public PlotData2D getMasterPlot()
Get the master plot

Returns:
  the master plot

### getMaxX

public double getMaxX()
Return the current max value of the attribute plotted on the x axis

Returns:
  the max x value

### getMaxY

public double getMaxY()
Return the current max value of the attribute plotted on the y axis

Returns:
  the max y value

### getMinX

public double getMinX()
Return the current min value of the attribute plotted on the x axis

Returns:
  the min x value

### getMinY

public double getMinY()
Return the current min value of the attribute plotted on the y axis

Returns:
  the min y value

### getMaxC

public double getMaxC()
Return the current max value of the colouring attribute

Returns:
  the max colour value

### getMinC

public double getMinC()
Return the current min value of the colouring attribute

Returns:
  the min colour value

### setInstances

public void setInstances(Instances inst) throws Exception
Sets the master plot from a set of instances

Parameters:
  `inst` - the instances
Throws:
  `Exception` - if instances could not be set

### setMasterPlot

public void setMasterPlot(PlotData2D master) throws Exception
Set the master plot.

Parameters:
  `master` - the plot to make the master plot
Throws:
  `Exception` - if the plot could not be set.

### removeAllPlots

public void removeAllPlots()
Clears all plots

### addPlot

public void addPlot(PlotData2D newPlot) throws Exception
Add a plot to the list of plots to display

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

### searchPoints

public void searchPoints(int x, int y, boolean newFrame)
Pops up a window displaying attribute information on any instances at a point+-plotting_point_size (in panel coordinates)

Parameters:
  `x` - the x value of the clicked point
  `y` - the y value of the clicked point
  `newFrame` - true if instance info is to be displayed in a new frame.

### determineBounds

public void determineBounds()
Determine the min and max values for axis and colouring attributes

### convertToAttribX

public double convertToAttribX(double scx)
convert a Panel x coordinate to a raw x value.

Parameters:
  `scx` - The Panel x coordinate
Returns:
  A raw x value.

### convertToAttribY

public double convertToAttribY(double scy)
convert a Panel y coordinate to a raw y value.

Parameters:
  `scy` - The Panel y coordinate
Returns:
  A raw y value.

### convertToPanelX

public double convertToPanelX(double xval)
Convert an raw x value to Panel x coordinate.

Parameters:
  `xval` - the raw x value
Returns:
  an x value for plotting in the panel.

### convertToPanelY

public double convertToPanelY(double yval)
Convert an raw y value to Panel y coordinate.

Parameters:
  `yval` - the raw y value
Returns:
  an y value for plotting in the panel.

### paintComponent

public void paintComponent(Graphics gx)
Renders this component

Parameters:
  `gx` - the graphics context

### main

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

Parameters:
  `args` - arguments