com.rapidminer.gui.plotter.mathplot
Class JMathPlotter

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.rapidminer.gui.plotter.PlotterAdapter
                      extended by com.rapidminer.gui.plotter.mathplot.JMathPlotter
All Implemented Interfaces:
Plotter, PlotterConfigurationModel.PlotterChangedListener, PlotterConfigurationModel.PlotterSettingsChangedListener, Renderable, Reportable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
Direct Known Subclasses:
JMathPlotter2D, JMathPlotter3D

public abstract class JMathPlotter
extends PlotterAdapter

The abstract super class for all plotters using the JMathPlot library. The actual plotting must be done in the method PlotterAdapter.paintComponent(Graphics) where some helper methods defined in this class can be used. Another method usually implemented is getNumberOfAxes().

Author:
Ingo Mierswa, Sebastian Land
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.rapidminer.gui.plotter.PlotterAdapter
PlotterAdapter.EllipsoidPointStyle, PlotterAdapter.LineColorIcon, PlotterAdapter.LineStyle, PlotterAdapter.LineStyleIcon, PlotterAdapter.PointStyle, PlotterAdapter.RectanglePointStyle, PlotterAdapter.StarPointStyle, PlotterAdapter.TriangularPointStyle, PlotterAdapter.TurnedTriangularPointStyle
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class com.rapidminer.gui.plotter.PlotterAdapter
ELLIPSOID_POINT_STYLE, GRID_COLOR, KNOWN_POINT_STYLES, LABEL_FONT, LABEL_FONT_BOLD, LINE_COLORS, LINE_STROKES, LINE_STYLE_ICONS, LINE_STYLES, MARGIN, PARAMETER_JITTER_AMOUNT, PARAMETER_PLOT_COLUMN, PARAMETER_PLOT_COLUMNS, PARAMETER_SUFFIX_ABSOLUTE_VALUES, PARAMETER_SUFFIX_AXIS, PARAMETER_SUFFIX_LOG_SCALE, PARAMETER_SUFFIX_SORTING, PARAMETER_SUFFIX_ZOOM_FACTOR, POINT_STYLES, POINTSIZE, RECTANGLE_POINT_STYLE, settings, STAR_POINT_STYLE, TOOLTIP_COLOR, TRIANGUALAR_POINT_STYLE, TURNED_TRIANGUALAR_POINT_STYLE, WEIGHT_BORDER_WIDTH
 
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 com.rapidminer.gui.plotter.Plotter
MULTIPLE_SELECTION, NO_SELECTION, SINGLE_SELECTION
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JMathPlotter(PlotterConfigurationModel settings)
          Creates a new JMathPlotter.
JMathPlotter(PlotterConfigurationModel settings, DataTable dataTable)
          Creates the new plotter and sets the data table.
 
Method Summary
protected  int countColumns()
           
protected abstract  org.math.plot.PlotPanel createPlotPanel()
          Must be implemented by subclasses in order to support 2D or 3D plots.
 int getAxis(int index)
          Returns -1.
 java.lang.String getAxisName(int index)
          Returns null.
protected  DataTable getDataTable()
           
 javax.swing.Icon getIcon(int index)
          Returns a line icon depending on the index.
protected  PlotterLegend getLegendComponent()
           
 int getNumberOfAxes()
          Returns 0.
protected abstract  int getNumberOfOptionIcons()
           
 javax.swing.JComponent getOptionsComponent(int index)
          Removes the data view button and adds the legend under the plotter panel if the method hasLegend() returns true.
 boolean getPlotColumn(int index)
          Returns false.
protected  org.math.plot.PlotPanel getPlotPanel()
           
 javax.swing.JComponent getPlotter()
          Returns this.
protected  boolean hasLegend()
           
protected  boolean hasRapidMinerValueLegend()
           
 void repaint()
           
 void setAxis(int index, int dimension)
          Does nothing.
 void setDataTable(DataTable dataTable)
          Does nothing.
 void setPlotColumn(int index, boolean plot)
          Does nothing.
protected abstract  void update()
           
 
Methods inherited from class com.rapidminer.gui.plotter.PlotterAdapter
applyParameterSetting, canHandleContinousJittering, canHandleJitter, canHandleZooming, dataTableUpdated, drawGenericNominalLegend, drawLegend, drawLegend, drawNumericalLegend, drawPoint, drawPoint, drawSimpleDateLegend, drawSimpleNumericalLegend, drawToolTip, drawWeightRectangle, finishRendering, forcePlotGeneration, getAdditionalParameterKeys, getColorProvider, getIdForPos, getInitialZoomFactor, getListeningObjects, getMaxWeight, getNumberOfPlots, getNumericalTicSize, getParameterTypes, getPlotName, getPlotterCondition, getPlotterSettings, getPointStyle, getPositionInDataSpace, getPreferredSize, getRenderComponent, getRenderHeight, getRenderWidth, getTicSize, getValuePlotSelectionType, getWeightColor, hasOptionsDialog, hasSaveImageButton, isProvidingCoordinates, isSaveable, isSupportingAbsoluteValues, isSupportingLogScale, isSupportingLogScaleForPlotColumns, isSupportingSorting, paintComponent, plotterChanged, prepareRendering, render, save, setAbsolute, setAdditionalParameter, setCoordinateTransformation, setDragBounds, setDrawRange, setJitter, setKey, setLogScale, setLogScaleForPlotColumns, setMousePosInDataSpace, setSorting, settingChanged, setZooming, showOptionsDialog, stopUpdates, transformParameterName
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, firePropertyChange, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, 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
 
Methods inherited from interface com.rapidminer.gui.plotter.Plotter
addMouseListener, addMouseMotionListener, getPlotterName
 

Constructor Detail

JMathPlotter

public JMathPlotter(PlotterConfigurationModel settings)
Creates a new JMathPlotter. If the method hasRapidMinerValueLegend() returns true, the usual RapidMiner color legend will be used (PlotterLegend).


JMathPlotter

public JMathPlotter(PlotterConfigurationModel settings,
                    DataTable dataTable)
Creates the new plotter and sets the data table.

Method Detail

getPlotter

public javax.swing.JComponent getPlotter()
Returns this. Subclasses which do not want to use this object (JPanel) for plotting should directly implement Plotter.

Specified by:
getPlotter in interface Plotter
Overrides:
getPlotter in class PlotterAdapter

createPlotPanel

protected abstract org.math.plot.PlotPanel createPlotPanel()
Must be implemented by subclasses in order to support 2D or 3D plots.


update

protected abstract void update()

getNumberOfOptionIcons

protected abstract int getNumberOfOptionIcons()

getLegendComponent

protected PlotterLegend getLegendComponent()

hasLegend

protected boolean hasLegend()

hasRapidMinerValueLegend

protected boolean hasRapidMinerValueLegend()

getDataTable

protected DataTable getDataTable()

countColumns

protected int countColumns()

getPlotPanel

protected org.math.plot.PlotPanel getPlotPanel()

setAxis

public void setAxis(int index,
                    int dimension)
Description copied from class: PlotterAdapter
Does nothing. Subclasses overriding this method should also override PlotterAdapter.getAxis(int), PlotterAdapter.getAxisName(int), and PlotterAdapter.getNumberOfAxes().

Specified by:
setAxis in interface Plotter
Overrides:
setAxis in class PlotterAdapter

getAxis

public int getAxis(int index)
Description copied from class: PlotterAdapter
Returns -1. Subclasses overriding this method should also override PlotterAdapter.getAxisName(int), PlotterAdapter.setAxis(int, int), and PlotterAdapter.getNumberOfAxes().

Specified by:
getAxis in interface Plotter
Overrides:
getAxis in class PlotterAdapter

setDataTable

public void setDataTable(DataTable dataTable)
Description copied from class: PlotterAdapter
Does nothing.

Specified by:
setDataTable in interface Plotter
Overrides:
setDataTable in class PlotterAdapter

getIcon

public javax.swing.Icon getIcon(int index)
Description copied from class: PlotterAdapter
Returns a line icon depending on the index.

Specified by:
getIcon in interface Plotter
Overrides:
getIcon in class PlotterAdapter

getNumberOfAxes

public int getNumberOfAxes()
Description copied from class: PlotterAdapter
Returns 0. Subclasses overriding this method should also override PlotterAdapter.getAxisName(int), PlotterAdapter.setAxis(int, int), and PlotterAdapter.getAxis(int).

Specified by:
getNumberOfAxes in interface Plotter
Overrides:
getNumberOfAxes in class PlotterAdapter

getAxisName

public java.lang.String getAxisName(int index)
Description copied from class: PlotterAdapter
Returns null. Subclasses overriding this method should also override PlotterAdapter.getAxis(int), PlotterAdapter.setAxis(int, int), and PlotterAdapter.getNumberOfAxes().

Specified by:
getAxisName in interface Plotter
Overrides:
getAxisName in class PlotterAdapter

setPlotColumn

public void setPlotColumn(int index,
                          boolean plot)
Description copied from class: PlotterAdapter
Does nothing. Subclasses should override this method if they want to allow plot column selection. In this case, the method PlotterAdapter.getPlotColumn(int) should also be overriden.

Specified by:
setPlotColumn in interface Plotter
Overrides:
setPlotColumn in class PlotterAdapter

getPlotColumn

public boolean getPlotColumn(int index)
Description copied from class: PlotterAdapter
Returns false. Subclasses should override this method and return true for the columns which should be plotted.

Specified by:
getPlotColumn in interface Plotter
Overrides:
getPlotColumn in class PlotterAdapter

getOptionsComponent

public javax.swing.JComponent getOptionsComponent(int index)
Removes the data view button and adds the legend under the plotter panel if the method hasLegend() returns true.

Specified by:
getOptionsComponent in interface Plotter
Overrides:
getOptionsComponent in class PlotterAdapter

repaint

public void repaint()
Overrides:
repaint in class java.awt.Component


Copyright © 2001-2009 by Rapid-I