skillfed

SciencePlots

Format Matplotlib for scientific plotting

scienceplots v2.2.2 274.7K downloads/30d#8,187 on PyPI9,127
Permissive license MIT Active released

What it is and what it does

SciencePlots is a Matplotlib style package that registers pre-configured visual themes optimized for scientific publication. When imported, it adds styles like 'science', 'ieee', and 'nature' that you apply via `plt.style.use()` to automatically adjust figure dimensions, fonts, colors, and line weights to match journal or presentation standards.

The package is designed to eliminate manual formatting work when preparing figures for academic papers. It supports cascading styles (combining 'science' with 'ieee' or 'nature' for journal-specific tweaks), includes multiple color cycles (some colorblind-safe), and provides localized support for CJK fonts and other languages. The main constraint is that LaTeX must be installed separately for full functionality, and the import statement must appear before any style application.

Use it for:

  • Format plots for IEEE papers by combining 'science' and 'ieee' styles to match column width and font requirements
  • Prepare figures for Nature or other journals using journal-specific style combinations
  • Create consistent, publication-ready plots in Jupyter notebooks with the 'notebook' style variant
  • Apply colorblind-safe color cycles to ensure accessibility across different audiences
  • Generate multilingual scientific figures using CJK font support for Chinese, Japanese, or Korean text

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a collection of Matplotlib style sheets designed to format scientific figures for papers, presentations, and theses with publication-ready appearance.

Yes. SciencePlots is worth installing if you regularly produce scientific figures for publication. It eliminates repetitive manual formatting, is actively maintained, has no security vulnerabilities, carries a permissive license, and depends only on matplotlib. The only gotcha is the LaTeX requirement, which is standard in academic workflows anyway.

Install

scienceplots on PyPI

pip

pip install scienceplots

uv

uv add scienceplots

poetry

poetry add scienceplots

Installing SciencePlots

Before you install

Low friction install with a single runtime dependency on matplotlib. The project is actively maintained with recent releases and high community engagement (9127 GitHub stars), indicating stable, well-supported code.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both academic and commercial projects.

Quickstart

pip install scienceplots

import matplotlib.pyplot as plt
import scienceplots

plt.style.use('science')
plt.plot([1, 2, 3])
plt.show()

LaTeX must be installed separately on your system for full style functionality.

Verify before relying

  • Whether LaTeX installation is truly mandatory or only needed for certain styles
  • Performance impact of importing scienceplots on matplotlib initialization
  • Compatibility with specific matplotlib versions beyond the general Python 3.8+ requirement

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies 1 — matplotlib
Maintenance actively maintained — 52 days since the last release
Last repo commit
First released
Downloads 274,693/month — #8,187 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: scienceplots-2.2.2-py3-none-any.whl

Keywords: matplotlib-style-sheets, matplotlib-figures, scientific-papers, thesis-template, matplotlib-styles, python

Development Status :: 6 - MatureFramework :: MatplotlibIntended Audience :: Science/ResearchProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: Visualization

Tags

matplotlib scientific plotting stylespublication-ready figure formattingscientific paper figure templatesmatplotlib journal stylesacademic figure styling
matplotlib-stylingacademic-publishingfigure-formatting

More Visualization packages