Skip to main content

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.

Metadata

Release files for synosys-styles 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for synosys-styles 0.2.0
File Size Uploaded Provenance Actions
synosys_styles-0.2.0.tar.gz 3.1 kB Without provenance Details for synosys_styles-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for synosys-styles 0.2.0
File Interpreter ABI Platform Actions
synosys_styles-0.2.0-py3-none-any.whl Python 3 none any Details for synosys_styles-0.2.0-py3-none-any.whl

Total release size: 7.5 kB

Release files / synosys_styles-0.2.0.tar.gz

Download URL synosys_styles-0.2.0.tar.gz
Size 3.1 kB
Tags Source
SHA-256 checksum
How to use checksums
481d89349688c7d36cba22824f4ae93922facabf39310ba5d4d7856cf57f4054
BLAKE2b-256 checksum
How to use checksums
0175079beff3f2d73a4b67e8d85bb0a0f208c85fe89883796633ce5855088e34
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / synosys_styles-0.2.0-py3-none-any.whl

Download URL synosys_styles-0.2.0-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f292e6a255ac7aa00e4dcb40037ede2709f290273b97a8f70b8e20821beec94d
BLAKE2b-256 checksum
How to use checksums
d6e872a415026e77cdde2e4d3e4c504d46d9c8f4108967dc012600554933a279
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for synosys-styles 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page