Plotting API
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.
To use the backend code, you need to import:
from pipe_control.plotting import write_xy