org.knime.base.node.viz.plotter.basic
Class BasicPlotter

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 org.knime.base.node.viz.plotter.AbstractPlotter
                      extended by org.knime.base.node.viz.plotter.basic.BasicPlotter
All Implemented Interfaces:
ComponentListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, HiLiteListener
Direct Known Subclasses:
BasicPlotterImpl, BoxPlotter, ParallelCoordinatesPlotter, TwoColumnPlotter

public abstract class BasicPlotter
extends AbstractPlotter

Tha BasicPlotter provides means to add some simple, basic graphical forms to the drawing pane, which are automatically mapped to the drawing pane's dimension. It may be used in the cases, where only the domain values for these forms are known. There are some possibilities to add these basic forms directly: addEllipse(double, double, double, double, Color, Stroke, boolean), addLine(double[], Color, Stroke), addRectangle(double, double, double, double,Color, Stroke, boolean), addText(String, DataCell, DataCell, Color). If some other forms are needed, the BasicDrawingElement may be extended and added with the addBasicDrawingElement(BasicDrawingElement).

Author:
Fabian Dill, University of Konstanz
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
AbstractPlotter.MovingMouseListener, AbstractPlotter.SelectionMouseListener, AbstractPlotter.ZoomMouseListener
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
DEFAULT_ZOOM_FACTOR, FADE_UNHILITED, HIDE_UNHILITED, SHOW_ALL, SHOW_HIDE
 
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
BasicPlotter()
          Constructs a plotter with a BasicDrawingPane and the AbstractPlotterProperties.
BasicPlotter(AbstractDrawingPane panel, AbstractPlotterProperties properties)
          Always provide a possibility to construct a customized plotter.
 
Method Summary
 void addBasicDrawingElement(BasicDrawingElement element)
          Adds a drawing element to the drawing pane.
 void addEllipse(double xCenter, double yCenter, double width, double height, Color color, Stroke stroke, boolean filled)
          Adds an ellipse with the center point (!) and the height width.
 void addLine(DataArray table, int colIdx, Color color, Stroke stroke)
          Deprecated. use addLine(DataArray, int, int, Color, Stroke) instead
 void addLine(DataArray table, int xIdx, int yIdx, Color color, Stroke stroke)
          Plots the column in the table specified by the column index as a line plot.
 void addLine(double[] y, Color color, Stroke stroke)
          Paints the values in the double array as y-values and the x-values are simply the position in the array, which implies, that the y-values are equidistant.
 void addLine(double[] x, double[] y, Color color, Stroke stroke)
          Adds a line based on the points defined by the x and y values in the referring double arrays.
 void addRectangle(double x, double y, double width, double height, Color color, Stroke stroke, boolean filled)
          Adds a rectangle defined by the upper-left corner and the width and height.
 void addText(String text, DataCell x, DataCell y, Color color)
          Adds a text at the position defined by the values of the both DataCells (lower-left corner).
 void reset()
          Reset all local data which depends on the input data provided by the data provider.
 void updateSize()
          Updates the size by mapping the domain values of the BasicDrawingElements to the drawing pane's dimension.
 
Methods inherited from class org.knime.base.node.viz.plotter.AbstractPlotter
addMouseListener, clearSelection, componentHidden, componentMoved, componentResized, componentShown, createNominalXCoordinate, createNominalYCoordinate, createXCoordinate, createXCoordinate, createYCoordinate, delegateAddHiLiteListener, delegateGetHiLitKeys, delegateHiLite, delegateHiLite, delegateIsHiLit, delegateIsHiLit, delegateRemoveAllHiLiteListeners, delegateRemoveHiLiteListener, delegateUnHiLite, delegateUnHiLite, delegateUnHiLiteAll, dispose, fillPopupMenu, fitToScreen, getClearHiliteAction, getCurrentMouseListener, getDataArrayIdx, getDataProvider, getDrawingPane, getDrawingPaneDimension, getHiliteAction, getHiLiteMenu, getMappedXValue, getMappedYValue, getProperties, getScreenYCoordinate, getUnhiliteAction, getXAxis, getYAxis, hiLite, hiLiteSelected, removeMouseListener, selectClickedElement, selectElementsIn, setAntialiasing, setDataArrayIdx, setDataProvider, setHeight, setHiLiteHandler, setPreserve, setXAxis, setYAxis, unHiLite, unHiLiteSelected, updateAxisLength, updatePaintModel, zoomByClick, zoomByWindow
 
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, getPreferredSize, 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, paintComponent, 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, 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 org.knime.core.node.property.hilite.HiLiteListener
unHiLiteAll
 

Constructor Detail

BasicPlotter

public BasicPlotter(AbstractDrawingPane panel,
                    AbstractPlotterProperties properties)
Always provide a possibility to construct a customized plotter.

Parameters:
panel - the drawing pane
properties - the properties

BasicPlotter

public BasicPlotter()
Constructs a plotter with a BasicDrawingPane and the AbstractPlotterProperties.

Method Detail

reset

public void reset()
Reset all local data which depends on the input data provided by the data provider.

Specified by:
reset in class AbstractPlotter

addLine

public void addLine(DataArray table,
                    int xIdx,
                    int yIdx,
                    Color color,
                    Stroke stroke)
Plots the column in the table specified by the column index as a line plot.

Parameters:
table - the table containing the data to be plotted.
xIdx - - the x column index specifying the data to be plotted.
yIdx - - the x column index specifying the data to be plotted.
color - the color of the line (may be null)
stroke - the stroke of the line (may be null)

addLine

@Deprecated
public void addLine(DataArray table,
                               int colIdx,
                               Color color,
                               Stroke stroke)
Deprecated. use addLine(DataArray, int, int, Color, Stroke) instead

Plots the column in the table specified by the column index as a line plot.

Parameters:
table - the table containing the data to be plotted.
colIdx - - the column index specifying the data to be plotted.
color - the color of the line (may be null)
stroke - the stroke of the line (may be null)

addLine

public void addLine(double[] y,
                    Color color,
                    Stroke stroke)
Paints the values in the double array as y-values and the x-values are simply the position in the array, which implies, that the y-values are equidistant. Color and Stroke might be null, then the default values for them are used (the currently set color and stroke in the graphics object).

Parameters:
y - the equidistant y values
color - color of the line, might be null, then the default color is used
stroke - stroke of the line, might be null, then the default stroke is used

addLine

public void addLine(double[] x,
                    double[] y,
                    Color color,
                    Stroke stroke)
Adds a line based on the points defined by the x and y values in the referring double arrays. Mind, that the values are assumed to be domain values.

Parameters:
x - the x coordinates (not mapped)
y - the y coordinates (not mapped)
color - the color
stroke - the stroke

addEllipse

public void addEllipse(double xCenter,
                       double yCenter,
                       double width,
                       double height,
                       Color color,
                       Stroke stroke,
                       boolean filled)
Adds an ellipse with the center point (!) and the height width.

Parameters:
xCenter - x
yCenter - y
width - width
height - height
color - color
stroke - stroke
filled - true if the ellipse should be filled.

addRectangle

public void addRectangle(double x,
                         double y,
                         double width,
                         double height,
                         Color color,
                         Stroke stroke,
                         boolean filled)
Adds a rectangle defined by the upper-left corner and the width and height.

Parameters:
x - x
y - y
width - width
height - height
color - color
stroke - stroke
filled - true if the rectangle should be filled.

addText

public void addText(String text,
                    DataCell x,
                    DataCell y,
                    Color color)
Adds a text at the position defined by the values of the both DataCells (lower-left corner).

Parameters:
text - the text to be displayed
x - left position of the text
y - the bottom position of the text
color - the color of the text (might be null: then the default color is used)

addBasicDrawingElement

public void addBasicDrawingElement(BasicDrawingElement element)
Adds a drawing element to the drawing pane. The mapping of the domain values to the screen coordinates is done here Only numeric values are supported. All the rest like color and stroke setting has to be done outside.

Parameters:
element - a drawing element.

updateSize

public void updateSize()
Updates the size by mapping the domain values of the BasicDrawingElements to the drawing pane's dimension.

Specified by:
updateSize in class AbstractPlotter
See Also:
AbstractPlotter.updateSize()


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.