Class PrincipalComponentsTab
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.DetachablePanel
-
- adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
-
- adams.gui.tools.wekainvestigator.tab.PrincipalComponentsTab
-
- All Implemented Interfaces:
adams.core.CleanUpHandler,adams.core.StatusMessageHandler,adams.gui.core.PopupMenuProvider,WekaInvestigatorDataListener,ImageObserver,MenuContainer,Serializable,Accessible
public class PrincipalComponentsTab extends AbstractInvestigatorTab
Visualizes the PCA loadings and PCA space calculated from the selected dataset.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
AbstractInvestigatorTab.SerializationOption
-
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 Modifier and Type Field Description static StringKEY_ADDITIONALATTRIBUTESstatic StringKEY_DATASETstatic StringKEY_LEFTPANELWIDTHstatic StringKEY_MAXATTRIBUTENAMESstatic StringKEY_MAXATTRIBUTESstatic StringKEY_RANGEstatic StringKEY_SKIPNOMINALstatic StringKEY_VARIANCEprotected adams.gui.core.BaseButtonm_ButtonStartthe button to start PCA.protected adams.gui.core.BaseButtonm_ButtonStopthe button to stop PCA.protected adams.gui.core.BaseCheckBoxm_CheckBoxSkipNominalwhether to skip nominal attributes.protected adams.gui.core.BaseComboBox<String>m_ComboBoxDatasetsthe datasets.protected DefaultComboBoxModel<String>m_ModelDatasetsthe datasets model.protected JPanelm_PanelLeftthe left panel.protected adams.gui.visualization.stats.scatterplot.ScatterPlotm_PanelLoadingsthe loadings plot.protected adams.gui.core.ParameterPanelm_PanelParametersthe parameter panel.protected JPanelm_PanelRightthe right panel.protected adams.gui.visualization.stats.scatterplot.ScatterPlotm_PanelScoresthe scores plot.protected adams.gui.core.BaseSplitPanem_SplitPanethe split pane.protected adams.gui.core.BaseTabbedPanem_TabbedPanePlotsthe tabbed pane for the plots.protected adams.gui.core.BaseTextFieldm_TextAdditionalAttributesthe additional attribute range.protected adams.gui.core.BaseTextFieldm_TextAttributeRangethe attribute range.protected adams.gui.core.NumberTextFieldm_TextMaxAttributeNamesthe maximum number of attribute names.protected adams.gui.core.NumberTextFieldm_TextMaxAttributesthe maximum number of attributes.protected adams.gui.core.NumberTextFieldm_TextVariancethe variance.-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
m_ActualTitle, m_FileChooserParameters, m_Owner, m_Worker
-
Fields inherited from class adams.gui.core.DetachablePanel
DETACH_ICON, m_ButtonReattach, m_ContentPanel, m_DetachedFrame, m_DetachListeners, m_FrameTitle, m_LastFramePosition, m_LastFrameSize, m_PanelReattach, m_PopupMenuCustomizer, m_ReattachListeners, REATTACH_ICON
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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 PrincipalComponentsTab()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAdditionalAttributes(adams.data.spreadsheet.SpreadSheet sheet, weka.core.Instances data, int[] additional)Adds the additional columns from the Instances to the spreadsheet.protected StringcanVisualize()Returns whether data can be visualized.voiddataChanged(WekaInvestigatorDataEvent e)Notifies the tab that the data changed.protected voiddoDeserialize(Map<String,Object> data, adams.core.MessageCollection errors)Restores the objects.protected Map<String,Object>doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)Returns the objects for serialization.protected voidfinishInit()finishes the initialization.protected int[]getAdditionalAttributeIndices(weka.core.Instances data)Returns the additional attribute indices.StringgetTabIcon()Returns the icon name for the tab icon.StringgetTitle()Returns the title of this table.protected voidinitGUI()Initializes the widgets.protected voidinitialize()Initializes the members.booleanisBusy()Returns whether the tab is busy.protected voidpostExecutionFinished()Hook method that gets called after finishing a job.protected voidpostStartExecution(InvestigatorTabJob job)Hook method that gets called after successfully starting a job.protected voidpostStopExecution()Hook method that gets called after stopping a job.protected voidstartExecution()Generates PCA visualization.protected voidupdateButtons()Updates the buttons.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
canStartExecution, createPopupMenu, deserialize, executionFinished, fireDataChange, getActualTitle, getData, getFileChooserParameters, getOwner, loadParameters, logError, logError, logMessage, saveParameters, serialize, setActualTitle, setOwner, showStatus, startExecution, stopExecution, toParamsArray
-
Methods inherited from class adams.gui.core.DetachablePanel
addDetachListener, addReattachListener, cleanUp, clearDetachListeners, clearReattachListeners, detach, getContentPanel, getFrameTitle, getPopupMenu, getPopupMenuCustomizer, isDetached, notifyDetachListeners, notifyReattachListeners, reattach, removeDetachListener, removeReattachListener, setFrameTitle, setPopupMenuCustomizer
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, 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
-
-
-
-
Field Detail
-
KEY_LEFTPANELWIDTH
public static final String KEY_LEFTPANELWIDTH
- See Also:
- Constant Field Values
-
KEY_DATASET
public static final String KEY_DATASET
- See Also:
- Constant Field Values
-
KEY_RANGE
public static final String KEY_RANGE
- See Also:
- Constant Field Values
-
KEY_VARIANCE
public static final String KEY_VARIANCE
- See Also:
- Constant Field Values
-
KEY_MAXATTRIBUTES
public static final String KEY_MAXATTRIBUTES
- See Also:
- Constant Field Values
-
KEY_MAXATTRIBUTENAMES
public static final String KEY_MAXATTRIBUTENAMES
- See Also:
- Constant Field Values
-
KEY_SKIPNOMINAL
public static final String KEY_SKIPNOMINAL
- See Also:
- Constant Field Values
-
KEY_ADDITIONALATTRIBUTES
public static final String KEY_ADDITIONALATTRIBUTES
- See Also:
- Constant Field Values
-
m_SplitPane
protected adams.gui.core.BaseSplitPane m_SplitPane
the split pane.
-
m_PanelLeft
protected JPanel m_PanelLeft
the left panel.
-
m_PanelRight
protected JPanel m_PanelRight
the right panel.
-
m_PanelParameters
protected adams.gui.core.ParameterPanel m_PanelParameters
the parameter panel.
-
m_ModelDatasets
protected DefaultComboBoxModel<String> m_ModelDatasets
the datasets model.
-
m_ComboBoxDatasets
protected adams.gui.core.BaseComboBox<String> m_ComboBoxDatasets
the datasets.
-
m_TextAttributeRange
protected adams.gui.core.BaseTextField m_TextAttributeRange
the attribute range.
-
m_TextVariance
protected adams.gui.core.NumberTextField m_TextVariance
the variance.
-
m_TextMaxAttributes
protected adams.gui.core.NumberTextField m_TextMaxAttributes
the maximum number of attributes.
-
m_TextMaxAttributeNames
protected adams.gui.core.NumberTextField m_TextMaxAttributeNames
the maximum number of attribute names.
-
m_CheckBoxSkipNominal
protected adams.gui.core.BaseCheckBox m_CheckBoxSkipNominal
whether to skip nominal attributes.
-
m_TextAdditionalAttributes
protected adams.gui.core.BaseTextField m_TextAdditionalAttributes
the additional attribute range.
-
m_ButtonStart
protected adams.gui.core.BaseButton m_ButtonStart
the button to start PCA.
-
m_ButtonStop
protected adams.gui.core.BaseButton m_ButtonStop
the button to stop PCA.
-
m_TabbedPanePlots
protected adams.gui.core.BaseTabbedPane m_TabbedPanePlots
the tabbed pane for the plots.
-
m_PanelLoadings
protected adams.gui.visualization.stats.scatterplot.ScatterPlot m_PanelLoadings
the loadings plot.
-
m_PanelScores
protected adams.gui.visualization.stats.scatterplot.ScatterPlot m_PanelScores
the scores plot.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initializein classAbstractInvestigatorTab
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUIin classadams.gui.core.DetachablePanel
-
finishInit
protected void finishInit()
finishes the initialization.- Overrides:
finishInitin classadams.gui.core.BasePanel
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitlein classAbstractInvestigatorTab- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIconin classAbstractInvestigatorTab- Returns:
- the icon name, null if not available
-
dataChanged
public void dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.- Specified by:
dataChangedin interfaceWekaInvestigatorDataListener- Specified by:
dataChangedin classAbstractInvestigatorTab- Parameters:
e- the event
-
isBusy
public boolean isBusy()
Returns whether the tab is busy.- Overrides:
isBusyin classAbstractInvestigatorTab- Returns:
- true if busy
-
canVisualize
protected String canVisualize()
Returns whether data can be visualized.- Returns:
- null if can visualize, otherwise error message
-
updateButtons
protected void updateButtons()
Updates the buttons.
-
getAdditionalAttributeIndices
protected int[] getAdditionalAttributeIndices(weka.core.Instances data)
Returns the additional attribute indices.- Parameters:
data- the data to use- Returns:
- the indices
-
addAdditionalAttributes
protected void addAdditionalAttributes(adams.data.spreadsheet.SpreadSheet sheet, weka.core.Instances data, int[] additional)Adds the additional columns from the Instances to the spreadsheet.- Parameters:
sheet- the spreadsheet to extenddata- the data to useadditional- the additional attribute indices to add
-
startExecution
protected void startExecution()
Generates PCA visualization.
-
postStartExecution
protected void postStartExecution(InvestigatorTabJob job)
Hook method that gets called after successfully starting a job.- Overrides:
postStartExecutionin classAbstractInvestigatorTab- Parameters:
job- the job that got started
-
postStopExecution
protected void postStopExecution()
Hook method that gets called after stopping a job.- Overrides:
postStopExecutionin classAbstractInvestigatorTab
-
postExecutionFinished
protected void postExecutionFinished()
Hook method that gets called after finishing a job.- Overrides:
postExecutionFinishedin classAbstractInvestigatorTab
-
doSerialize
protected Map<String,Object> doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
doSerializein classAbstractInvestigatorTab- Parameters:
options- what to serialize- Returns:
- the mapping of the objects to serialize
-
doDeserialize
protected void doDeserialize(Map<String,Object> data, adams.core.MessageCollection errors)
Restores the objects.- Overrides:
doDeserializein classAbstractInvestigatorTab- Parameters:
data- the data to restoreerrors- for storing errors
-
-