Create publication-ready charts and graphs for scientific papers using Matplotlib with proper typography and color choices
Build animated or 3D visualizations for academic presentations by following the book's advanced chapters and included source code
Apply Matplotlib's styling system to keep all figures in a paper visually consistent
Copy finished showcase examples from the repository as starting points for your own scientific figures
Building the full book locally requires Ubuntu with specific LaTeX and Python dependencies, running individual code examples only needs Python and Matplotlib.
This repository holds the source for an open-access book titled "Scientific Visualization: Python + Matplotlib," written by Nicolas P. Rougier and published in November 2021. The book teaches how to create high-quality scientific figures using Matplotlib, a Python library for drawing charts and graphs, and is aimed at researchers, students, and data analysts who want publication-ready visuals. The book is organized into four parts. The first covers the core structure of Matplotlib: how figures are composed, how coordinate systems work, what scales and projections are available, and how typography and color choices affect the result. The second part focuses on actually designing figures, starting with rules for better visuals, then moving into Matplotlib's styling system, figure layout, the range of available plot types, and decorative elements. The third part addresses more advanced topics: 3D figures, optimization, and animation. The fourth part is a collection of finished showcase examples. The full book is available for free as a PDF, hosted on a French open-access academic archive called HAL. All source code for the examples is included in this repository. A printed edition is available on Amazon for $49. The repository also contains scripts for building the book locally on Ubuntu if you want to compile it yourself. The author accepts tips and sponsorships through PayPal, GitHub Sponsors, and Liberapay for those who want to support continued work on the project.
← rougier on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.