Skip to main content

Matplotlib styles, fonts, and Wes Anderson-inspired palettes for SynoSys projects.

Project description

synosys-styles

Matplotlib styling utilities and color palettes used in projects of the
Center Synergy of Systems (SynoSys).

The package provides:

  • a curated Wes Anderson–inspired color palette
  • highlight colors for emphasized curves
  • named colors usable directly in matplotlib
  • a simple function to configure consistent matplotlib defaults
  • publication-friendly font and mathtext settings

Installation

Install from PyPI:

pip install synosys-styles

Quick start

Activate the SynoSys style at the beginning of your script:

import synosys_styles as ss
import matplotlib.pyplot as plt

ss.use()

plt.plot([0, 1, 2], [1, 2, 3], color="wes_teal")
plt.plot([0, 1, 2], [2, 2.5, 2.2], color="wes_hl_crimson", linewidth=3)

plt.xlabel(r"$x$")
plt.ylabel(r"$f(x)$")

plt.show()

Example figure

Example plot


What use() does

Calling

ss.use()

applies SynoSys matplotlib defaults:

  • registers named SynoSys colors
  • sets a Wes-inspired default color cycle
  • sets the default font family to Arial
  • uses STIX math fonts for mathematical labels
  • applies consistent legend styling

This ensures figures across projects have a consistent appearance.


Palette preview

SynoSys palette


Named colors

Base palette

wes_mint
wes_teal
wes_sand
wes_rust
wes_taupe
wes_mauvegray
wes_plum
wes_crimson
wes_ochre
wes_rosewood

Highlight palette

wes_hl_crimson
wes_hl_teal
wes_hl_gold
wes_hl_plum
wes_hl_dark

These colors can be used directly in matplotlib:

plt.plot(x, y, color="wes_teal")
plt.plot(x, y_mean, color="wes_hl_crimson", linewidth=3)

Typical plotting pattern

A common use case is plotting many trajectories with an emphasized mean:

plt.plot(x, ensemble.T, color="wes_hl_dark", alpha=0.25)
plt.plot(x, mean, color="wes_hl_crimson", linewidth=3)

This produces a clear visual hierarchy between background curves and the main result.


Font and math styling

synosys_styles uses:

font.family = "Arial"
mathtext.fontset = "stix"
text.usetex = False

This provides math-style labels similar to LaTeX while avoiding a full LaTeX dependency.

Example:

plt.xlabel(r"$t$")
plt.ylabel(r"$P(t)$")

Development installation

To work on the package locally:

git clone https://github.com/dirkbrockmann/synosys-styles.git
cd synosys-styles
uv pip install -e .

License

MIT License


About SynoSys

SynoSys — Center Synergy of Systems

This package collects plotting styles used across SynoSys research projects to ensure consistent figure design.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synosys_styles-0.2.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synosys_styles-0.2.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file synosys_styles-0.2.0.tar.gz.

File metadata

  • Download URL: synosys_styles-0.2.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for synosys_styles-0.2.0.tar.gz
Algorithm Hash digest
SHA256 481d89349688c7d36cba22824f4ae93922facabf39310ba5d4d7856cf57f4054
MD5 0c2a827e0d9866271d3aa3ac36fd105d
BLAKE2b-256 0175079beff3f2d73a4b67e8d85bb0a0f208c85fe89883796633ce5855088e34

See more details on using hashes here.

File details

Details for the file synosys_styles-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: synosys_styles-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for synosys_styles-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f292e6a255ac7aa00e4dcb40037ede2709f290273b97a8f70b8e20821beec94d
MD5 e63d3a31bd1eefcef3242e62d3a674c6
BLAKE2b-256 d6e872a415026e77cdde2e4d3e4c504d46d9c8f4108967dc012600554933a279

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page