.. currentmodule:: silx.gui.plot :mod:`PlotWidget`: Base class for plotting widgets ================================================== .. module:: silx.gui.plot.PlotWidget .. currentmodule:: silx.gui.plot.PlotWidget The :class:`PlotWidget` is a Qt widget providing the plot API initially provided in `PyMca `_. It is the basis of other plot widget, thus all plot widgets share the same API. For an introduction and examples of the plot API, see :doc:`getting_started`. :class:`PlotWidget` ------------------- .. currentmodule:: silx.gui.plot.PlotWidget .. autoclass:: PlotWidget :show-inheritance: Plot data ......... Those methods allow to add and update plotted data: .. automethod:: PlotWidget.addCurve .. automethod:: PlotWidget.addImage .. automethod:: PlotWidget.addScatter .. automethod:: PlotWidget.addHistogram Get data ........ Those methods return objects providing access to plotted data: .. automethod:: PlotWidget.getItems .. automethod:: PlotWidget.getCurve .. automethod:: PlotWidget.getImage .. automethod:: PlotWidget.getScatter .. automethod:: PlotWidget.getHistogram Plot markers ............ It is also possible to add point or line markers to the plot: .. automethod:: PlotWidget.addMarker .. automethod:: PlotWidget.addXMarker .. automethod:: PlotWidget.addYMarker Remove data from the plot ......................... .. automethod:: PlotWidget.clear .. automethod:: PlotWidget.remove Title ..... Those methods handle the plot title: .. automethod:: PlotWidget.getGraphTitle .. automethod:: PlotWidget.setGraphTitle Axes .... Those two methods give access to :class:`.items.Axis` which handle the limits, scales and labels of axis: .. automethod:: PlotWidget.getXAxis .. automethod:: PlotWidget.getYAxis The following methods handle plot limits, aspect ratio, grid and axes display: .. automethod:: PlotWidget.setLimits .. automethod:: PlotWidget.isKeepDataAspectRatio .. automethod:: PlotWidget.setKeepDataAspectRatio .. automethod:: PlotWidget.getGraphGrid .. automethod:: PlotWidget.setGraphGrid .. automethod:: PlotWidget.isAxesDisplayed .. automethod:: PlotWidget.setAxesDisplayed .. automethod:: PlotWidget.getAxesMargins .. automethod:: PlotWidget.setAxesMargins Reset zoom .......... .. automethod:: PlotWidget.resetZoom The following methods allow to add margins around the data when performing a zoom reset: .. automethod:: PlotWidget.getDataMargins .. automethod:: PlotWidget.setDataMargins Defaults ........ Those methods set-up default values for :meth:`PlotWidget.addCurve` and :meth:`PlotWidget.addImage`: .. automethod:: PlotWidget.getDefaultColormap .. automethod:: PlotWidget.setDefaultColormap .. automethod:: PlotWidget.getSupportedColormaps .. automethod:: PlotWidget.setDefaultPlotPoints .. automethod:: PlotWidget.setDefaultPlotLines Interaction ........... Those methods allow to change the interaction mode (e.g., drawing mode) of the plot and to toggle the use of a crosshair cursor: .. automethod:: PlotWidget.interaction .. automethod:: PlotWidget.getInteractiveMode .. automethod:: PlotWidget.setInteractiveMode .. automethod:: PlotWidget.getGraphCursor .. automethod:: PlotWidget.setGraphCursor .. automethod:: PlotWidget.isPanWithArrowKeys .. automethod:: PlotWidget.setPanWithArrowKeys Coordinates conversion ...................... .. automethod:: PlotWidget.getDataRange .. automethod:: PlotWidget.getPlotBoundsInPixels .. automethod:: PlotWidget.dataToPixel .. automethod:: PlotWidget.pixelToData Active Item ........... .. automethod:: PlotWidget.setActiveCurveSelectionMode .. automethod:: PlotWidget.getActiveCurveSelectionMode .. automethod:: PlotWidget.getActiveCurveStyle .. automethod:: PlotWidget.setActiveCurveStyle .. automethod:: PlotWidget.getActiveCurve .. automethod:: PlotWidget.setActiveCurve .. automethod:: PlotWidget.getActiveImage .. automethod:: PlotWidget.setActiveImage Misc. ..... .. automethod:: PlotWidget.getWidgetHandle .. automethod:: PlotWidget.saveGraph Signals ....... The :class:`PlotWidget` provides the following Qt signals: .. autoattribute:: PlotWidget.sigPlotSignal .. autoattribute:: PlotWidget.sigSetKeepDataAspectRatio .. autoattribute:: PlotWidget.sigSetGraphGrid .. autoattribute:: PlotWidget.sigSetGraphCursor .. autoattribute:: PlotWidget.sigSetPanWithArrowKeys .. autoattribute:: PlotWidget.sigItemAdded .. autoattribute:: PlotWidget.sigItemAboutToBeRemoved .. autoattribute:: PlotWidget.sigContentChanged .. autoattribute:: PlotWidget.sigActiveCurveChanged .. autoattribute:: PlotWidget.sigActiveImageChanged .. autoattribute:: PlotWidget.sigActiveScatterChanged .. autoattribute:: PlotWidget.sigInteractiveModeChanged .. toctree:: :hidden: plotsignal.rst .. PlotWidget public API that is not documented: Could be added: - addItem - pan - getLimitsHistory - isDefaultPlotPoints - isDefaultPlotLines - setGraphCursorShape - getAutoReplot, setAutoReplot, replot Should not be added: * Should be private: - notify, setCallback, graphCallback * Use remove instead: - removeCurve, removeImage, removeItem, removeMarker - clearCurves, clearImages, clearItems, clearMarkers * Use items instead: - isCurveHidden, hideCurve * Use items.axis instead: - getGraphXLimits, setGraphXLimits - getGraphYLimits, setGraphYLimits - getGraphXLabel, setGraphXLabel - getGraphYLabel, setGraphYLabel - isXAxisLogarithmic, setXAxisLogarithmic - isYAxisLogarithmic, setXAxisLogarithmic - isXAxisAutoScale, setXAxisAutoScale - isYAxisAutoScale, setYAxisAutoScale - setYAxisInverted, isYAxisInverted