mailRe: [sr #3211] Provide veusz plots as an alternative to grace


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Edward d'Auvergne on February 09, 2015 - 09:29:
On 9 February 2015 at 08:08, Justin (jlec) <jlec@xxxxxxxxxx> wrote:
On 08/02/15 22:05, Edward d'Auvergne wrote:
Hi Justin,

Here is another resource that may be of assistance.  I have created a
basic initial relax wiki page describing the plotting API:

    http://wiki.nmr-relax.com/Plotting_API

Feel free to sign up to the wiki and modify this as you see fit
(http://wiki.nmr-relax.com/index.php?title=Special:UserLogin&returnto=Plotting+API&type=signup).
I'll expand this as the API is developed and refined.  It could
benefit from additional code examples, better API documentation
linking, and detailing specific graph types, etc.  Note that the API
documentation at http://www.nmr-relax.com/api/3.3/ does not contain
the recent changes for the Grace plotting and the
pipe_control.plotting.write_xy() function.  This will be updated once
relax 3.3.7 is released (http://wiki.nmr-relax.com/Relax_3.3.7).  The
code should now be the maximal simplicity for implementing new
functionality (http://wiki.nmr-relax.com/Plotting_API#Development).

Regards,

Edward


Thank you Edward for all the mails and information!

No problems.  I'll use this myself to advance the plotting
capabilities.  I only recently added the gnuplot graph type for
creating a figure in paper I'm currently working on.  I've created
similar wiki pages to help design other parts of relax
(http://wiki.nmr-relax.com/Relax_source_design#The_check_.2A.28.29_functions
for example).


Things came along so I couldn't look into it until now. But I just started.
Creating something similar for veusz as for grace shouldn't be a problem.

As soon as I have some results, I will send you patches and edit the wiki 
page.

Hopefully you now have an easy way to play with the Veusz support.
Take your time though.


Do you have sample data for the

plotting.write_iso3D()

For this one, the implementation is currently the dx.map user
function.  I haven't shifted the modules around yet
(http://www.nmr-relax.com/api/3.2/lib.software.opendx-module.html to
http://www.nmr-relax.com/api/3.3/lib.plotting-module.html).  The
sample data is generated via the pipe_control.opendx.map function and
the Map class 
(http://www.nmr-relax.com/api/3.2/pipe_control.opendx-module.html#map).
This is more complicated as it uses the specific analysis API methods
(http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html)
to generate the data on the fly, see the Map class for details
(http://www.nmr-relax.com/api/3.2/pipe_control.opendx.Map-class.html).
It is used in a number of system tests:

$ grep dx test_suite/system_tests/*.py | grep def
test_suite/system_tests/frame_order.py:    def fixme_test_opendx_map(self):
test_suite/system_tests/model_free.py:    def test_opendx_s2_te_rex(self):
test_suite/system_tests/model_free.py:    def test_opendx_theta_phi_da(self):
test_suite/system_tests/model_free.py:    def test_opendx_tm_s2_te(self):
test_suite/system_tests/relax_disp.py:    def
test_cpmg_synthetic_dx_map_points(self):
test_suite/system_tests/relax_disp.py:    def test_dx_map_clustered(self):
test_suite/system_tests/relax_disp.py:    def
test_dx_map_clustered_create_par_file(self):
$

For example the 2nd would be run as:

$ relax -sd Model_free.test_opendx_s2_te_rex


plotting.write_2D_fitted_curves()

This is the current relax_disp.plot_disp_curves user function.  I also
haven't shifted this code around, as this is a more complicated task.
It will require creating new methods for the specific analysis API to
allow this graph type to be compatible with all analysis types which
implement the API methods
(http://www.nmr-relax.com/api/3.3/specific_analyses.api_base.API_base-class.html).
It is also similar to Troels' help.py script attached to
http://gna.org/support/?3210.  One system test that checks the
relax_disp.plot_disp_curves user function is:

$ ./relax -sd Relax_disp.test_r1rho_kjaergaard_auto_check_graphs


ideas?

I hope this information helps and isn't too much.


Second, I cannot figure out how to read in two saved data pipes. I would 
like to
write a sample script for J0 vs J0 on two fields plotting.

It might be better to start a new thread.  For this you should use the
results.write and results.read user functions.  These historical names
should probably one day be renamed to pipe.write and pipe.read.

Regards,

Edward



Related Messages


Powered by MHonArc, Updated Mon Feb 09 10:00:37 2015