Mark A. Caprio, University of Notre Dame
SciDraw examples
Click here for PDF.

SciDraw is a system for preparing publication-quality scientific figures with Mathematica.   SciDraw provides both a framework for structuring figures and tools for generating their content.  SciDraw helps with generating figures involving mathematical plots, data plots, and diagrams.  The package allows extensive manual fine tuning of the styling of text and graphics.

The structural framework includes:
  • generation of panels for multi-panel and inset figures, with fine control over all properties,
  • customizable tick marks,
  • style definitions for uniformly controlling formatting and appearance across multiple figures,
  • tools for annotating figures with text labels, axes, etc.
Any graphics (plots, images, etc.) which you can produce in or import into Mathematica can easily be included in a SciDraw figure.

Beyond these structural elements, SciDraw then also provides an object oriented drawing system which makes many hard-to-draw scientific diagrams comparatively easy to generate — e.g., by helping you to automatically attach text labels to objects in the figure (such as geometric shapes, arrows, and mathematical curves), and by helping you to position these objects with respect to each other.

SciDraw also provides data plotting and legend generation capabilities complementary to those built into Mathematica

SciDraw is the successor to LevelScheme [see also Comput. Phys. Commun. 171, 107 (2005)].  The LevelScheme package was designed to allow the easy and efficient preparation of high-quality level schemes, or level energy diagrams, as used in nuclear, atomic, molecular, and hadronic physics.  These capabilities have been retained.  Like LevelScheme, SciDraw automates many of the tedious aspects of preparing a level scheme, such as positioning transition arrows between levels or placing text labels alongside the objects they label. It also includes specialized features for creating several common types of level schemes encountered in nuclear physics.
Downloading SciDraw

Status: The reference manual is complete, and there are plenty of examples, but the guide for new users is still under construction.  If you do not mind slightly-incomplete documentation, you are welcome to download the latest release.

Known issue with latest Mathematica releases

Under Mathematica 10.4 (or higher): When you first load SciDraw, you will receive error messages such as SetDelayed::write: "Tag BoundingRegion in BoundingRegion[...] is Protected.". This is due to name conflicts introduced with Mathematica 10.4. You may safely ignore these messages and continue using SciDraw normally, except that SciDraw's BoundingRegion function will not be available to you. This issue will be addressed in the next release of SciDraw.


User guides (also included in the full download above): SciDrawGuide.pdf and CustomTicksGuide.pdf

Further technical documentation for several of the subpackages is available through the Mathematica Information Center's MathSource code library: search for packages by this author at MathSource

Legacy page for LevelScheme.

Last modified: August 27, 2016
Mark A. Caprio, University of Notre Dame