Package csb :: Package io :: Module plots :: Class Chart |
[frames] | no frames]

# Class Chart

source code

    object --+
             |
            Chart

Simple and clean facade to Matplotlib's plotting API.

A chart instance abstracts a plotting device, on which one or multiple related plots can be drawn. Charts can be exported as images, or visualized interactively. Each chart instance will always open in its own GUI window, and this window will never block the execution of the rest of the program, or interfere with other Charts. The GUI can be safely opened in the background and closed infinite number of times, as long as the client program is still running.

By default, a chart contains a single plot:

    >>> chart.plot
    matplotlib.axes.AxesSubplot
    >>> chart.plot.hist(...)

If `rows` and `columns` are defined, the chart will contain `rows` x `columns` number of plots (equivalent to MPL's sub-plots). Each plot can be assessed by its index:

    >>> chart.plots[0]
    first plot

or by its position in the grid:

    >>> chart.plots[0, 1]
    plot at row=0, column=1

Note: additional arguments are passed directly to Matplotlib's Figure constructor.

Instance Methods
__enter__(self) | source code
__exit__(self, *a, **k) | source code
__getitem__(self, i) | source code
__init__(self, number=None, title=`'````'`, rows=1, columns=1, backend=<class 'csb.io.plots.WxBackendImpl'>, *fa, **fk) x.__init__(...) initializes x; see help(type(x)) for signature | source code
dispose(self) Dispose the GUI interface. | source code
hide(self) Hide (but do not dispose) the GUI window. | source code
save(self, file, format=`'``png``'`, crop=False, dpi=None, *a, **k) Save all plots to an image. | source code
show(self) Show the GUI window (non-blocking). | source code
Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__sizeof__`, `__str__`, `__subclasshook__`

Class Variables
| AUTONUMBER = `None` hash(x)

Properties
int | columns Number of columns in this chart
int | dpi Chart's DPI
csb.core.enum | formats Supported output file formats
int | height Chart's height in inches
int | number Chart number
matplotlib.AxesSubplot | plot First plot
PlotsCollection | plots Index-based access to the plots in this chart
int | rows Number of rows in this chart
str | title Chart title
int | width Chart's width in inches
Inherited from `object`: `__class__`

Method Details

### __init__(self, number=None, title=`'````'`, rows=1, columns=1, backend=<class 'csb.io.plots.WxBackendImpl'>, *fa, **fk) (Constructor) | source code
x.__init__(...) initializes x; see help(type(x)) for signature Parameters: `number` (int or None) - chart number; by default this a Chart.AUTONUMBER `title` (str) - chart master title `rows` (int) - number of rows in the chart window `columns` (int) - number of columns in the chart window Overrides: object.__init__ (inherited documentation)

### dispose(self) | source code
Dispose the GUI interface. Must be called at the end if any chart.show() calls have been made. Automatically called if using the chart in context manager ("with" statement). Note: Failing to call this method if show() has been called at least once may cause backend-related errors.

### save(self, file, format=`'``png``'`, crop=False, dpi=None, *a, **k) | source code
Save all plots to an image. Parameters: `file` (str) - destination file name `format` (str or csb.core.EnumItem) - output image format; see `chart.formats` for enumeration `crop` (bool) - if True, crop the image (equivalent to MPL's bbox=tight) Note: additional arguments are passed directly to MPL's savefig method

Property Details

### columns Number of columns in this chart Get Method: unreachable.columns(self) - Number of columns in this chart Type: int

### dpi Chart's DPI Get Method: unreachable.dpi(self) - Chart's DPI Set Method: unreachable.dpi(self, dpi) Type: int

### formats Supported output file formats Get Method: unreachable.formats(self) - Supported output file formats Type: csb.core.enum

### height Chart's height in inches Get Method: unreachable.height(self) - Chart's height in inches Set Method: unreachable.height(self, inches) Type: int

### number Chart number Get Method: unreachable.number(self) - Chart number Type: int

### plot First plot Get Method: unreachable.plot(self) - First plot Type: matplotlib.AxesSubplot

### plots Index-based access to the plots in this chart Get Method: unreachable.plots(self) - Index-based access to the plots in this chart Type: PlotsCollection

### rows Number of rows in this chart Get Method: unreachable.rows(self) - Number of rows in this chart Type: int

### title Chart title Get Method: unreachable.title(self) - Chart title Type: str

### width Chart's width in inches Get Method: unreachable.width(self) - Chart's width in inches Set Method: unreachable.width(self, inches) Type: int