Class Plot2D

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public class Plot2D
    extends javax.swing.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

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.BaselineResizeBehavior
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int CONST_AUTOMATIC_SHAPE  
      static int DEFAULT_SHAPE_SIZE  
      static int DIAMOND_SHAPE  
      static int ERROR_SHAPE  
      static int MAX_SHAPES  
      static int MISSING_SHAPE  
      static int PLUS_SHAPE  
      static int TRIANGLEDOWN_SHAPE  
      static int TRIANGLEUP_SHAPE  
      static 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

      All Methods Static Methods Instance Methods Concrete Methods 
      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​(java.lang.String[] args)
      Main method for testing this class
      void paintComponent​(java.awt.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
    • Constructor Detail

      • Plot2D

        public Plot2D()
        Constructor
    • Method Detail

      • 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 java.lang.Exception
        Sets the master plot from a set of instances
        Parameters:
        inst - the instances
        Throws:
        java.lang.Exception - if instances could not be set
      • setMasterPlot

        public void setMasterPlot​(PlotData2D master)
                           throws java.lang.Exception
        Set the master plot.
        Parameters:
        master - the plot to make the master plot
        Throws:
        java.lang.Exception - if the plot could not be set.
      • removeAllPlots

        public void removeAllPlots()
        Clears all plots
      • addPlot

        public void addPlot​(PlotData2D newPlot)
                     throws java.lang.Exception
        Add a plot to the list of plots to display
        Parameters:
        newPlot - the new plot to add
        Throws:
        java.lang.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​(java.awt.Graphics gx)
        Renders this component
        Parameters:
        gx - the graphics context
      • main

        public static void main​(java.lang.String[] args)
        Main method for testing this class
        Parameters:
        args - arguments