Skip to content

Reproducing a Figure

A computational figure is the visible end of a chain: model, parameters, solver, numerical data, and plotting choices. Reproducing it means identifying and checking that chain. Matching the appearance of a curve is insufficient when its normalization, units, or error bars describe a different quantity.

Read the caption and the accompanying experiment. Record the horizontal and vertical variables, units, normalization, parameter values, sampled range, and any averaging or smoothing. Distinguish a sampled wavefunction from a normalized probability density, an amplitude from its squared modulus, and a finite-window result from an asymptotic prediction.

Follow the theory link for the observable’s definition and the method link for its numerical approximation. The figure should not become an independent source for a definition that disagrees with the underlying article.

Use the procedure in Running an Experiment to execute the declared calculation in a separate output directory. Record the actual environment and input parameters. Run its validation before rendering a plot: conserved norms, eigenpair residuals, analytical targets, or refinement studies are normally more discriminating than a visual comparison.

Compare regenerated observables with retained data using the stated tolerances. Do not require identical CSV bytes for an otherwise valid floating-point comparison. A byte hash is useful for identifying a retained file, while a numerical tolerance expresses an admissible discrepancy in the quantity being studied.

If the program offers a quick-look plotting option, check whether it requires an optional dependency. Documentation figures may instead use a supplied TikZ/pgfplots source. The plotting environment can differ from the environment that computes the data; record both when reconstructing the final figure.

Use labels that state units and conventions. Show numerical error or the relevant refinement study when it affects the conclusion. For logarithmic axes, identify zeros and negative values explicitly rather than silently dropping them. Do not connect samples across an unresolved singularity, threshold, or branch switch.

A plot of complex data needs a declared representation: real and imaginary parts, magnitude and phase, or a density. Phase jumps caused by a branch convention are not automatically physical discontinuities. If eigenvectors have an arbitrary sign or phase, align them consistently before comparing curves, while preserving observables that do not require alignment.

Retain the source and input revision, the numerical evidence, the plotting instructions, and the artifact’s existing attribution and reuse terms. In a caption, name the model and parameters, explain the plotted comparison, and state the principal limitation. Link the reader to the experiment so that the figure can be investigated rather than only viewed.

For a changed model or regime, recheck the approximation instead of inheriting the original figure’s verification claim. Reproducibility Checklist provides the broader accounting of model, discretization, sampling and presentation errors.

  • National Academies of Sciences, Engineering, and Medicine, Reproducibility and Replicability in Science, National Academies Press, 2019, doi:10.17226/25303 — preserving the computational chain supporting a result.
  • L. N. Trefethen and D. Bau III, Numerical Linear Algebra, SIAM, 1997 — residuals, conditioning and numerical evidence behind computed eigenvectors and eigenvalues.