GracePlot.jl: Build Grace/xmgrace plots with Julia!
The GracePlot.jl module is a simple control interface for Grace/xmgrace - providing more publication-quality plotting facilities to Julia.
- GracePlot.jl is ideal for seeding a Grace session with plot data before fine-tuning the output with Grace itself.
- Grace "templates" (.par) files can then be saved/re-loaded to maintain a uniform appearance in publication.
- The user is encouraged to pre-process data using math facilities from Julia instead of those built-in to Grace.
Table of Contents
- Install Grace/xmgrace (details).
- Install Julia (download here).
GracePlotfrom the Julia package prompt:
GracePlotfrom the Julia prompt:
using GracePlot include(joinpath(dirname(pathof(GracePlot)), "../sample/runsamples.jl"))
By default, GracePlot.jl assumes Grace is accessible from the environment path as
xmgrace. To specify a different command/path, simply set the
GRACEPLOT_COMMAND environment variable.
The value of
GRACEPLOT_COMMAND can therefore be set from
~/.julia/config/startup.jl with the following:
ENV["GRACEPLOT_COMMAND"] = "/home/laforge/bin/xmgrace2"
The sample directory contains a few demonstrations on how to use GracePlot.jl.
The template directory contains a repository of sample Grace template (parameter) files.
GracePlot.jl currently provides a relatively "bare-bones" interface (despite offering significant functionality).
- Does not currently provide much in terms of input validation.
- Does not support the entire Grace control interface.
- In particular: GracePlot.jl does not support Grace math operations. Users are expected to leverage Julia for processing data before plotting.
- On certain runs, Grace will complain that some commands cannot be executed... almost like commands are sent too fast for Grace, or something... Not sure what this is. Try re-running.
GracePlot.jl will post-process SVG files in an attempt to support the W3C 1999 standard. The changes enable most new web browsers to display the SVG outputs. Note, however, that text will not appear correctly on these plots.
The EPS format is therefore suggested if high-quality vector plots are desired.
The ARRANGE command appears to cause crashes/logouts on certain Linux installs with relatively high occurance.
Extensive compatibility testing of GracePlot.jl has not been performed. The module has been tested using the following environment(s):
- Linux / Julia-1.1.1 / Grace-5.1.25.
The GracePlot.jl API is not perfect. Backward compatibility issues are to be expected as the module matures.