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