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.1.1.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.1-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: synosys_styles-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 cd60a29007147fec5790345870e92530f2dfc994948ec35bae8f6add6f3af2bb
MD5 3c9e9e8759e9715542d76f8f7f657c24
BLAKE2b-256 900ff717035d8d66847396cce5f74ea6ae9015fdd9e7d25cb4aa9b4ff28a0a51

See more details on using hashes here.

File details

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

File metadata

  • Download URL: synosys_styles-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 baacd8a28a0987eba145394612d9f3af4ed918bbd1996b4f9960380f9260b339
MD5 2e306f024e90cebfc6556e991e88b851
BLAKE2b-256 5be73436b4e6fc6f65d5b9b9084ae4cc118725df61ccf746cc95cd59b4497fe3

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