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/YOURNAME/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.1.0.tar.gz (2.7 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.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synosys_styles-0.1.0.tar.gz
  • Upload date:
  • Size: 2.7 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.1.0.tar.gz
Algorithm Hash digest
SHA256 e694a4c4c0165707103b1deb3e5b76862ff9970fc4e8102a7172bdbd740d8654
MD5 9139d43cc1d9bc5daa54a561c2694189
BLAKE2b-256 cde0246d7df9da787e814e8220b0824948542d4331fa87a84bf573f2796f653d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: synosys_styles-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 3.8 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a234cc1263418872019bf2c83033606025bb7f412d5ec71025b51eeeec4adbe
MD5 56c53d8ac4cfb0b0d429f547e76da377
BLAKE2b-256 ba4d966d9cf1f0e09a2e02ae1644eeb2a130350f2d1cfe210854e5082069416a

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