com.rapidminer.gui.plotter.charts
Class BarChartPlotter

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.LabelRotatingPlotterAdapter
                          extended by com.rapidminer.gui.plotter.charts.BarChartPlotter
All Implemented Interfaces:
Plotter, PlotterConfigurationModel.PlotterChangedListener, PlotterConfigurationModel.PlotterSettingsChangedListener, Renderable, Reportable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener

public class BarChartPlotter
extends LabelRotatingPlotterAdapter
implements javax.swing.event.ChangeListener

This is the main bar chart plotter. The plotter is also capable to produce average aggregations based on an additional group-by attribute.

Author:
Ingo Mierswa
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
static int ORIENTATION_TYPE_HORIZONTAL
           
static int ORIENTATION_TYPE_VERTICAL
           
static java.lang.String PARAMETER_AGGREGATION
           
static java.lang.String PARAMETER_ORIENTATION
           
static java.lang.String PARAMETER_USE_DISTINCT
           
 
Fields inherited from class com.rapidminer.gui.plotter.LabelRotatingPlotterAdapter
PARAMETER_ROTATE_LABELS
 
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
BarChartPlotter(PlotterConfigurationModel settings)
           
BarChartPlotter(PlotterConfigurationModel settings, DataTable dataTable)
           
 
Method Summary
 void finishRendering()
          Do nothing.
 java.util.List<ParameterType> getAdditionalParameterKeys(InputPort inputPort)
          The default implementation delivers an empty set.
 int getAxis(int index)
          Returns -1.
 java.lang.String getAxisName(int index)
          Returns null.
 java.util.List<PlotterConfigurationModel.PlotterSettingsChangedListener> getListeningObjects()
          This has to return a complete list of the objects listening to the plotter settings, defined inside this class.
 int getNumberOfAxes()
          Returns 0.
 javax.swing.JComponent getOptionsComponent(int index)
          Returns null.
 boolean getPlotColumn(int index)
          Returns false.
 java.lang.String getPlotName()
          Returns null.
 javax.swing.JComponent getPlotter()
          Returns this.
 java.lang.String getPlotterName()
          Returns the name of this plotter.
 javax.swing.JComponent getRenderComponent()
          Returns the plotter component for rendering purposes like reporting.
 boolean isSupportingAbsoluteValues()
          Returns false.
 void prepareRendering()
          Invokes force plot generation.
 void setAbsolute(boolean absolute)
          Does nothing.
 void setAdditionalParameter(java.lang.String key, java.lang.String value)
          The default implementation does nothing.
 void setAxis(int index, int dimension)
          Does nothing.
 void setDataTable(DataTable dataTable)
          Does nothing.
 void setPlotColumn(int index, boolean plot)
          Does nothing.
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 void updatePlotter()
           
 
Methods inherited from class com.rapidminer.gui.plotter.LabelRotatingPlotterAdapter
getRotateLabelComponent, isLabelRotating
 
Methods inherited from class com.rapidminer.gui.plotter.PlotterAdapter
applyParameterSetting, canHandleContinousJittering, canHandleJitter, canHandleZooming, dataTableUpdated, drawGenericNominalLegend, drawLegend, drawLegend, drawNumericalLegend, drawPoint, drawPoint, drawSimpleDateLegend, drawSimpleNumericalLegend, drawToolTip, drawWeightRectangle, forcePlotGeneration, getColorProvider, getIcon, getIdForPos, getInitialZoomFactor, getMaxWeight, getNumberOfPlots, getNumericalTicSize, getParameterTypes, getPlotterCondition, getPlotterSettings, getPointStyle, getPositionInDataSpace, getPreferredSize, getRenderHeight, getRenderWidth, getTicSize, getValuePlotSelectionType, getWeightColor, hasOptionsDialog, hasSaveImageButton, isProvidingCoordinates, isSaveable, isSupportingLogScale, isSupportingLogScaleForPlotColumns, isSupportingSorting, paintComponent, plotterChanged, render, save, 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, 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
 

Field Detail

PARAMETER_ORIENTATION

public static final java.lang.String PARAMETER_ORIENTATION
See Also:
Constant Field Values

PARAMETER_AGGREGATION

public static final java.lang.String PARAMETER_AGGREGATION
See Also:
Constant Field Values

PARAMETER_USE_DISTINCT

public static final java.lang.String PARAMETER_USE_DISTINCT
See Also:
Constant Field Values

ORIENTATION_TYPE_VERTICAL

public static final int ORIENTATION_TYPE_VERTICAL
See Also:
Constant Field Values

ORIENTATION_TYPE_HORIZONTAL

public static final int ORIENTATION_TYPE_HORIZONTAL
See Also:
Constant Field Values
Constructor Detail

BarChartPlotter

public BarChartPlotter(PlotterConfigurationModel settings)

BarChartPlotter

public BarChartPlotter(PlotterConfigurationModel settings,
                       DataTable dataTable)
Method Detail

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

setDataTable

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

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

setAbsolute

public void setAbsolute(boolean absolute)
Description copied from class: PlotterAdapter
Does nothing.

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

isSupportingAbsoluteValues

public boolean isSupportingAbsoluteValues()
Description copied from class: PlotterAdapter
Returns false.

Specified by:
isSupportingAbsoluteValues in interface Plotter
Overrides:
isSupportingAbsoluteValues 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

getPlotName

public java.lang.String getPlotName()
Description copied from class: PlotterAdapter
Returns null. Subclasses might return another name more fitting the plot selection box or list.

Specified by:
getPlotName in interface Plotter
Overrides:
getPlotName 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

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

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

getPlotter

public javax.swing.JComponent getPlotter()
Description copied from class: PlotterAdapter
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

getRenderComponent

public javax.swing.JComponent getRenderComponent()
Description copied from class: PlotterAdapter
Returns the plotter component for rendering purposes like reporting. In most cases this will be the same component but sometimes a plotter might want to left out additional control elements etc. The default implementation returns the component delivered by getPlotter().

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

prepareRendering

public void prepareRendering()
Description copied from class: PlotterAdapter
Invokes force plot generation.

Specified by:
prepareRendering in interface Renderable
Overrides:
prepareRendering in class PlotterAdapter

finishRendering

public void finishRendering()
Description copied from class: PlotterAdapter
Do nothing.

Specified by:
finishRendering in interface Renderable
Overrides:
finishRendering in class PlotterAdapter

updatePlotter

public void updatePlotter()
Specified by:
updatePlotter in class LabelRotatingPlotterAdapter

getOptionsComponent

public javax.swing.JComponent getOptionsComponent(int index)
Description copied from class: PlotterAdapter
Returns null. Subclasses might override this method in order to provide additional option components.

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

getAdditionalParameterKeys

public java.util.List<ParameterType> getAdditionalParameterKeys(InputPort inputPort)
The default implementation delivers an empty set.

Overrides:
getAdditionalParameterKeys in class LabelRotatingPlotterAdapter
Parameters:
inputPort - TODO

getListeningObjects

public java.util.List<PlotterConfigurationModel.PlotterSettingsChangedListener> getListeningObjects()
Description copied from interface: PlotterConfigurationModel.PlotterChangedListener
This has to return a complete list of the objects listening to the plotter settings, defined inside this class.

Specified by:
getListeningObjects in interface PlotterConfigurationModel.PlotterChangedListener
Overrides:
getListeningObjects in class LabelRotatingPlotterAdapter

setAdditionalParameter

public void setAdditionalParameter(java.lang.String key,
                                   java.lang.String value)
The default implementation does nothing.

Overrides:
setAdditionalParameter in class LabelRotatingPlotterAdapter

getPlotterName

public java.lang.String getPlotterName()
Description copied from interface: Plotter
Returns the name of this plotter.

Specified by:
getPlotterName in interface Plotter


Copyright © 2001-2009 by Rapid-I