Tools: scientific communication
Preregistration, environments, visualization, and publishing
Chapter 10 asks you to make a research pipeline understandable and reproducible. These tools support different parts of that work: registering a plan, recording an environment, showing results, and preserving the materials. Tool selection reviewed August 2026.
Preregistration and archiving
- OSF Registries: preregistration with a timestamped, citable record; supports embargo.
- AsPredicted: preregistration through a structured questionnaire.
- Zenodo: archive a repository snapshot and get a DOI.
Environment management
- Python: venv, conda, uv. Choose an environment manager and record the dependencies needed to run your analysis.
- R: renv.
- Containers: Docker, Apptainer for high-performance computing. Containers can package software and system dependencies; test the image on the platform where you expect others to run it.
Version control
Git with GitHub or GitLab. Tag the commit that produced published results so a replicator can check out that exact state.
Static visualization
- Python: matplotlib, seaborn, plotnine (grammar of graphics).
- R: ggplot2.
- Accessibility: viridis and ColorBrewer offer palettes for different data types. Check your chosen palette for color-vision accessibility and grayscale printing, and use labels or shapes when color alone would carry a distinction.
Interactive and dashboards
Streamlit, Shiny (R and Python), Dash, Observable, Tableau Public. Chapter 10 asks for a static fallback and a maintenance memo: readers need a way to inspect your results if the interactive service later becomes unavailable.
Reproducible reporting
Quarto (this site is built with it), Jupyter, R Markdown, Jupyter Book.
Uncertainty visualization
matplotlib error bars and fill-between for confidence bands; small-multiple ensemble plots for seed sensitivity; ggdist (R) for distributional visualizations including hypothetical outcome plots.