PlotWindow

A PlotWidget with additionnal toolbars.

The PlotWindow is a subclass of PlotWidget. It provides the plot API fully defined in Plot.

PlotWindow class

class silx.gui.plot.PlotWindow.PlotWindow(parent=None, backend=None, resetzoom=True, autoScale=True, logScale=True, grid=True, curveStyle=True, colormap=True, aspectRatio=True, yInverted=True, copy=True, save=True, print_=True, control=False, position=False, roi=True, mask=True)[source]

Bases: silx.gui.plot.PlotWidget.PlotWidget

Qt Widget providing a 1D/2D plot area and additional tools.

This widget includes the following QAction as attributes:

  • resetZoomAction: Reset zoom
  • xAxisAutoScaleAction: Toggle X axis autoscale
  • yAxisAutoScaleAction: Toggle Y axis autoscale
  • xAxisLogarithmicAction: Toggle X axis log scale
  • yAxisLogarithmicAction: Toggle Y axis log scale
  • gridAction: Toggle plot grid
  • curveStyleAction: Change curve line and markers style
  • colormapAction: Open a colormap dialog to change active image and default colormap.
  • keepDataAspectRatioAction: Toggle keep aspect ratio
  • yAxisInvertedAction: Toggle Y Axis direction
  • copyAction: Copy plot snapshot to clipboard
  • saveAction: Save plot
  • printAction: Print plot

Initialiser parameters:

Parameters:
  • parent – The parent of this widget or None.
  • backend (str or BackendBase.BackendBase) – The backend to use for the plot. The default is to use matplotlib.
  • resetzoom (bool) – Toggle visibility of reset zoom action.
  • autoScale (bool) – Toggle visibility of axes autoscale actions.
  • logScale (bool) – Toggle visibility of axes log scale actions.
  • grid (bool) – Toggle visibility of grid mode action.
  • curveStyle (bool) – Toggle visibility of curve style action.
  • colormap (bool) – Toggle visibility of colormap action.
  • aspectRatio (bool) – Toggle visibility of aspect ration action.
  • yInverted (bool) – Toggle visibility of Y axis direction action.
  • copy (bool) – Toggle visibility of copy action.
  • save (bool) – Toggle visibility of save action.
  • print (bool) – Toggle visibility of print action.
  • control (bool) – True to display an Options button with a sub-menu to show legends, toggle crosshair and pan with arrows. (Default: False)
  • position – True to display widget with (x, y) mouse position (Default: False). It also supports a list of (name, funct(x, y)->value) to customize the displayed values. See silx.gui.plot.PlotTools.PositionInfo.
  • roi (bool) – Toggle visibilty of ROI action.
legendsDockWidget[source]

DockWidget with Legend panel (lazy-loaded).

curvesROIDockWidget[source]

DockWidget with curves’ ROI panel (lazy-loaded).

roiAction[source]

QAction toggling curve ROI dock widget

maskToolsDockWidget[source]

DockWidget with image mask panel (lazy-loaded).

maskAction[source]

QAction toggling image mask dock widget

getSelectionMask()[source]

Return the current mask handled by maskToolsDockWidget.

Returns:The array of the mask with dimension of the ‘active’ image. If there is no active image, an empty array is returned.
Return type:2D numpy.ndarray of uint8
setSelectionMask(mask)[source]

Set the mask handled by :attr`maskToolsDockWidget`.

If the provided mask has not the same dimension as the ‘active’ image, it will by cropped or padded.

Parameters:mask (numpy.ndarray of uint8 of dimension 2, C-contiguous. Array of other types are converted.) – The array to use for the mask.
Returns:True if success, False if failed
consoleDockWidget[source]

DockWidget with IPython console (lazy-loaded).

crosshairAction[source]

Action toggling crosshair cursor mode (lazy-loaded).

panWithArrowKeysAction[source]

Action toggling pan with arrow keys (lazy-loaded).

toolBar(title='Plot', parent=None)[source]

Return a QToolBar from the QAction of the PlotWindow.

Parameters:
  • title (str) – The title of the QMenu
  • parent – See QToolBar
menu(title='Plot', parent=None)[source]

Return a QMenu from the QAction of the PlotWindow.

Parameters:
  • title (str) – The title of the QMenu
  • parent – See QMenu

Plot1D class

class silx.gui.plot.PlotWindow.Plot1D(parent=None)[source]

Bases: silx.gui.plot.PlotWindow.PlotWindow

PlotWindow with tools specific for curves.

Parameters:parent – The parent of this widget

Plot2D class

class silx.gui.plot.PlotWindow.Plot2D(parent=None)[source]

Bases: silx.gui.plot.PlotWindow.PlotWindow

PlotWindow with a toolbar specific for images.

Parameters:parent – The parent of this widget
profile = None

“Profile tools attached to this plot.

See silx.gui.plot.PlotTools.ProfileToolBar

plot1D() function

silx.gui.plot.PlotWindow.plot1D(x_or_y=None, y=None, title='', xlabel='X', ylabel='Y')[source]

Plot curves in a dedicated widget.

Examples:

The following examples must run with a Qt QApplication initialized.

First import plot1D() function:

>>> from silx.gui.plot import plot1D
>>> import numpy

Plot a single curve given some values:

>>> values = numpy.random.random(100)
>>> plot_1curve = plot1D(values, title='Random data')

Plot a single curve given the x and y values:

>>> angles = numpy.linspace(0, numpy.pi, 100)
>>> sin_a = numpy.sin(angles)
>>> plot_sinus = plot1D(angles, sin_a,
...                     xlabel='angle (radian)', ylabel='sin(a)')

Plot many curves by giving a 2D array:

>>> curves = numpy.random.random(10 * 100).reshape(10, 100)
>>> plot_curves = plot1D(curves)

Plot many curves sharing the same x values:

>>> angles = numpy.linspace(0, numpy.pi, 100)
>>> values = (numpy.sin(angles), numpy.cos(angles))
>>> plot = plot1D(angles, values)
Parameters:
  • x_or_y – x values or y values if y is not provided
  • y – y values (x_or_y) must be provided
  • title (str) – The title of the Plot widget
  • xlabel (str) – The label of the X axis
  • ylabel (str) – The label of the Y axis

plot2D() function

silx.gui.plot.PlotWindow.plot2D(data=None, cmap=None, norm='linear', vmin=None, vmax=None, aspect=False, origin=(0.0, 0.0), scale=(1.0, 1.0), title='', xlabel='X', ylabel='Y')[source]

Plot an image in a dedicated widget.

Example to plot an image. This example must run with a Qt QApplication initialized.

>>> from silx.gui.plot import plot2D
>>> import numpy
>>> data = numpy.random.random(1024 * 1024).reshape(1024, 1024)
>>> plot = plot2D(data, title='Random data')
Parameters:
  • data (numpy.ndarray-like with 2 dimensions) – data to plot as an image
  • cmap (str) – The name of the colormap to use for the plot.
  • norm (str) – The normalization of the colormap: ‘linear’ (default) or ‘log’
  • vmin (float) – The value to use for the min of the colormap
  • vmax (float) – The value to use for the max of the colormap
  • aspect (bool) – True to keep aspect ratio (Default: False)
  • origin (2-tuple of floats) – (ox, oy) The origin of the image in the plot
  • scale (2-tuple of floats) – (sx, sy) The scale of the image in the plot (i.e., the size of the image’s pixel in plot coordinates)
  • title (str) – The title of the Plot widget
  • xlabel (str) – The label of the X axis
  • ylabel (str) – The label of the Y axis

Table Of Contents

Previous topic

PlotWidget

Next topic

ImageView

This Page