Experiment class

The Experiment class is intended for use in the Jupyter notebook environment.

class pymeasure.experiment.experiment.Experiment(title, procedure, analyse=<function Experiment.<lambda>>)

Bases: object

Class which starts logging and creates/runs the results and worker processes.

procedure = Procedure()
experiment = Experiment(title, procedure)
experiment.start()
experiment.plot_live('x', 'y', style='.-')

for a multi-subplot graph:

import pylab as pl
ax1 = pl.subplot(121)
experiment.plot('x','y',ax=ax1)
ax2 = pl.subplot(122)
experiment.plot('x','z',ax=ax2)
experiment.plot_live()
Variables

value – The value of the parameter

Parameters
  • title – The experiment title

  • procedure – The procedure object

  • analyse – Post-analysis function, which takes a pandas dataframe as input and returns it with added (analysed) columns. The analysed results are accessible via experiment.data, as opposed to experiment.results.data for the ‘raw’ data.

  • _data_timeout – Time limit for how long live plotting should wait for datapoints.

clear_plot()

Clear the figures and plot lists.

property data

Data property which returns analysed data, if an analyse function is defined, otherwise returns the raw data.

plot(*args, **kwargs)

Plot the results from the experiment.data pandas dataframe. Store the plots in a plots list attribute.

plot_live(*args, **kwargs)

Live plotting loop for jupyter notebook, which automatically updates (an) in-line matplotlib graph(s). Will create a new plot as specified by input arguments, or will update (an) existing plot(s).

start()

Start the worker

update_line(ax, hl, xname, yname)

Update a line in a matplotlib graph with new data.

update_plot()

Update the plots in the plots list with new data from the experiment.data pandas dataframe.

wait_for_data()

Wait for the data attribute to fill with datapoints.

pymeasure.experiment.experiment.create_filename(title)

Create a new filename according to the style defined in the config file. If no config is specified, create a temporary file.

pymeasure.experiment.experiment.get_array(start, stop, step)

Returns a numpy array from start to stop

pymeasure.experiment.experiment.get_array_steps(start, stop, numsteps)

Returns a numpy array from start to stop in numsteps

pymeasure.experiment.experiment.get_array_zero(maxval, step)

Returns a numpy array from 0 to maxval to -maxval to 0