Difference between revisions of "Plotting API"
(→Package: pipe_control: More editing.) |
(→Package: pipe_control: Execution of write_xy().) |
||
Line 24: | Line 24: | ||
from pipe_control.plotting import write_xy | from pipe_control.plotting import write_xy | ||
</source> | </source> | ||
+ | |||
+ | The write_xy() function will assemble the data from the relax data store via the [http://www.nmr-relax.com/api/3.3/pipe_control.plotting-module.html#assemble_data assemble_data() function]. It will then call the plotting API functions write_xy_header() and write_xy_data(). | ||
== Package: lib == | == Package: lib == |
Revision as of 20:23, 8 February 2015
Packages
The flow of execution for plotting XY-type data in relax is:
- The user function definition in the user_functions.grace module (in the future the user_functions.plotting module).
- The pipe_control.plotting.write_xy() function.
- The lib.plotting functions write_xy_header() and write_xy_data().
Package: user_functions
The user interface for plotting are generally the user functions. Currently this consists of the grace.write and dx.map user functions. However in the future a software independent interface will be gradually implemented via a new plotting user function class. An idea would be to have one user function per graph type, for example:
- plotting.write_2D
- plotting.write_iso3D
- plotting.write_2D_fitted_curves
The user_functions package consists of definitions that are used to construct the prompt or graphical UI and to set up automated argument checking.
Package: pipe_control
The user functions provide a simple interface to the relax backend. For plotting and most functionality, this is in the pipe_control package which is used primarily to read and write data to the relax data store. However power-users can bypass the user function interface and directly use the backend code for greater functionality. This also allows for the implementation of new features without modifying the user interface. To use the backend code, for example for plotting XY-type data, one needs to import:
from pipe_control.plotting import write_xy
The write_xy() function will assemble the data from the relax data store via the assemble_data() function. It will then call the plotting API functions write_xy_header() and write_xy_data().