Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes
rqt_plot.data_plot.DataPlot Class Reference
Inheritance diagram for rqt_plot.data_plot.DataPlot:
Inheritance graph
[legend]

List of all members.

Public Member Functions

def __init__
def add_curve
def autoscroll
def clear_values
def doSettingsDialog
def get_xlim
def get_ylim
def getTitle
def redraw
def remove_curve
def restore_settings
def save_settings
def set_autoscale
def set_xlim
def set_ylim
def update_values
def vline

Static Public Attributes

tuple BLUE = (0, 0, 255)
tuple GREEN = (0, 255, 0)
tuple limits_changed = Signal()
list plot_types
tuple RED = (255, 0, 0)
int SCALE_ALL = 1
int SCALE_EXTEND = 4
int SCALE_VISIBLE = 2

Private Member Functions

def _do_redraw
def _get_curve
def _merged_autoscale
def _switch_data_plot_widget
def _switch_plot_markers

Private Attributes

 _autoscale_x
 _autoscale_y
 _autoscroll
 _color_index
 _curves
 _data_plot_widget
 _layout
 _markers_on
 _plot_index
 _vline

Static Private Attributes

tuple _add_curve = Signal(str, str, 'QColor', bool)
list _colors = [Qt.blue, Qt.red, Qt.cyan, Qt.magenta, Qt.green, Qt.darkYellow, Qt.black, Qt.darkCyan, Qt.darkRed, Qt.gray]
tuple _redraw = Signal()

Detailed Description

A widget for displaying a plot of data

The DataPlot widget displays a plot, on one of several plotting backends,
depending on which backend(s) are available at runtime. It currently 
supports PyQtGraph, MatPlot and QwtPlot backends.

The DataPlot widget manages the plot backend internally, and can save
and restore the internal state using `save_settings` and `restore_settings`
functions.

Currently, the user MUST call `restore_settings` before using the widget,
to cause the creation of the enclosed plotting widget.

Definition at line 64 of file data_plot/__init__.py.


Constructor & Destructor Documentation

def rqt_plot.data_plot.DataPlot.__init__ (   self,
  parent = None 
)
Create a new, empty DataPlot

This will raise a RuntimeError if none of the supported plotting
backends can be found

Definition at line 115 of file data_plot/__init__.py.


Member Function Documentation

def rqt_plot.data_plot.DataPlot._do_redraw (   self) [private]
Redraw the underlying plot

This causes the underlying plot to be redrawn. This is usually used
after adding or updating the plot data

Definition at line 258 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot._get_curve (   self,
  curve_id 
) [private]

Definition at line 270 of file data_plot/__init__.py.

Definition at line 387 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot._switch_data_plot_widget (   self,
  plot_index,
  markers_on = False 
) [private]
Internal method for activating a plotting backend by index

Definition at line 148 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot._switch_plot_markers (   self,
  markers_on 
) [private]

Definition at line 190 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.add_curve (   self,
  curve_id,
  curve_name,
  data_x,
  data_y 
)
Add a new, named curve to this plot

Add a curve named `curve_name` to the plot, with initial data series
`data_x` and `data_y`.

Future references to this curve should use the provided `curve_id`

Note that the plot is not redraw automatically; call `redraw()` to make
any changes visible to the user.

Definition at line 277 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.autoscroll (   self,
  enabled = True 
)
Enable or disable autoscrolling of the plot

Definition at line 251 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.clear_values (   self,
  curve_id = None 
)
Clear the values for the specified curve, or all curves

This will erase the data series associaed with `curve_id`, or all
curves if `curve_id` is not present or is None

Note that the plot is not redraw automatically; call `redraw()` to make
any changes visible to the user.

Definition at line 323 of file data_plot/__init__.py.

Present the user with a dialog for choosing the plot backend

This displays a SimpleSettingsDialog asking the user to choose a
plot type, gets the result, and updates the plot type as necessary

This method is blocking

Definition at line 220 of file data_plot/__init__.py.

get X limits

Definition at line 472 of file data_plot/__init__.py.

get Y limits

Definition at line 487 of file data_plot/__init__.py.

get the title of the current plotting backend

Definition at line 203 of file data_plot/__init__.py.

Definition at line 255 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.remove_curve (   self,
  curve_id 
)
Remove the specified curve from this plot

Definition at line 298 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.restore_settings (   self,
  plugin_settings,
  instance_settings 
)
Restore the settings for this widget

Currently, this just restores the plot type.

Definition at line 214 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.save_settings (   self,
  plugin_settings,
  instance_settings 
)
Save the settings associated with this widget

Currently, this is just the plot type, but may include more useful
data in the future

Definition at line 207 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.set_autoscale (   self,
  x = None,
  y = None 
)
Change autoscaling of plot axes

if a parameter is not passed, the autoscaling setting for that axis is
not changed

@param x: enable or disable autoscaling for X
@param y: set autoscaling mode for Y

Definition at line 357 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.set_xlim (   self,
  limits 
)
set X limits

Definition at line 480 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.set_ylim (   self,
  limits 
)
set Y limits

Definition at line 495 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.update_values (   self,
  curve_id,
  values_x,
  values_y 
)
Append new data to an existing curve

`values_x` and `values_y` will be appended to the existing data for
`curve_id`

Note that the plot is not redraw automatically; call `redraw()` to make
any changes visible to the user.

Definition at line 306 of file data_plot/__init__.py.

def rqt_plot.data_plot.DataPlot.vline (   self,
  x,
  color = RED 
)
Draw a vertical line on the plot

Draw a line a position X, with the given color

@param x: position of the vertical line to draw
@param color: optional parameter specifying the color, as tuple of
      RGB values from 0 to 255

Definition at line 343 of file data_plot/__init__.py.


Member Data Documentation

tuple rqt_plot::data_plot.DataPlot::_add_curve = Signal(str, str, 'QColor', bool) [static, private]

Definition at line 113 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

list rqt_plot::data_plot.DataPlot::_colors = [Qt.blue, Qt.red, Qt.cyan, Qt.magenta, Qt.green, Qt.darkYellow, Qt.black, Qt.darkCyan, Qt.darkRed, Qt.gray] [static, private]

Definition at line 109 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

tuple rqt_plot::data_plot.DataPlot::_redraw = Signal() [static, private]

Definition at line 112 of file data_plot/__init__.py.

Definition at line 119 of file data_plot/__init__.py.

tuple rqt_plot::data_plot.DataPlot::BLUE = (0, 0, 255) [static]

Definition at line 103 of file data_plot/__init__.py.

tuple rqt_plot::data_plot.DataPlot::GREEN = (0, 255, 0) [static]

Definition at line 102 of file data_plot/__init__.py.

Definition at line 111 of file data_plot/__init__.py.

Initial value:
[
        {
            'title': 'PyQtGraph',
            'widget_class': PyQtGraphDataPlot,
            'description': 'Based on PyQtGraph\n- installer: http://luke.campagnola.me/code/pyqtgraph\n',
            'enabled': PyQtGraphDataPlot is not None,
        },
        {
            'title': 'MatPlot',
            'widget_class': MatDataPlot,
            'description': 'Based on MatPlotLib\n- needs most CPU\n- needs matplotlib >= 1.1.0\n- if using PySide: PySide > 1.1.0\n',
            'enabled': MatDataPlot is not None,
        },
        {
            'title': 'QwtPlot',
            'widget_class': QwtDataPlot,
            'description': 'Based on QwtPlot\n- does not use timestamps\n- uses least CPU\n- needs Python Qwt bindings\n',
            'enabled': QwtDataPlot is not None,
        },
    ]

Definition at line 79 of file data_plot/__init__.py.

tuple rqt_plot::data_plot.DataPlot::RED = (255, 0, 0) [static]

Definition at line 101 of file data_plot/__init__.py.

Definition at line 105 of file data_plot/__init__.py.

Definition at line 107 of file data_plot/__init__.py.

Definition at line 106 of file data_plot/__init__.py.


The documentation for this class was generated from the following file:


rqt_plot
Author(s): Dorian Scholz
autogenerated on Mon Oct 6 2014 07:15:32