Skip to main content

A pretty color palette manager and matplotlib plotting utility for Python

Project description

A color palette manager and matplotlib plotting utility for Python.

Features

  • 22 curated color palettes including 4 colorblind-friendly sets (Okabe–Ito, Tableau 10, Tol Bright, Tol Muted)

  • Color manipulation: brighten, darken, mix, find intermediates

  • Color format conversions: hex, RGB, HLS

  • Sample any matplotlib colormap with get_color(0.5, 'viridis')

  • Generate matplotlib colormaps from any palette with palette_cmap()

  • Opinionated matplotlib plot templates (Multiplot, BrokenAxes)

  • chromatify decorator for auto-styling matplotlib subplots

  • Rich terminal color preview via Color.display()

Installation

$ pip install pychromatic

For development:

$ pip install -e ".[dev]"

Quick Start

from pychromatic import Palette, Color

# Use a built-in palette
p = Palette('default')
p.show()

# Work with individual colors
c = Color('#1976d2', name='blue')
c.brighten(0.2)
c.display()

# Sample a matplotlib colormap
from pychromatic import get_color, palette_cmap
hex_color = get_color(0.5, 'viridis')   # '#21918c'

# Build a cmap from any pychromatic palette
cmap = palette_cmap('rainbow')

Colorblind-Friendly Palettes

pychromatic ships four accessibility-first palettes that can be used as Palette objects or imported directly as plain dictionaries:

from pychromatic import okabe_ito, tableau10, tol_bright, tol_muted

# Use as a Palette object
p = Palette('okabe_ito')
p.show()

# Or grab individual hex values from the dict
print(okabe_ito['orange'])   # '#E69F00'
print(tableau10['teal'])     # '#76B7B2'

Available colorblind palettes:

  • okabe_ito — 8 colors from the Okabe & Ito (2008) universal palette

  • tableau10 — 10 colors from Tableau’s default categorical palette

  • tol_bright — 7 high-contrast colors from Paul Tol’s bright scheme

  • tol_muted — 9 low-chroma colors from Paul Tol’s muted scheme

Available Palettes

Name

Colors

Type

default

15

qualitative

pastels

12

qualitative

basics

9

qualitative

set1_dark

8

qualitative

set1_pastel

8

qualitative

excel

7

qualitative

set2set7

5

qualitative

google

5

qualitative

dark

5

qualitative

earth

5

qualitative

rainbow

5

sequential

accent

15

qualitative

okabe_ito

8

qualitative (colorblind-safe)

tableau10

10

qualitative (colorblind-safe)

tol_bright

7

qualitative (colorblind-safe)

tol_muted

9

qualitative (colorblind-safe)

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

pychromatic-0.6.0.tar.gz (833.6 kB view details)

Uploaded Source

Built Distribution

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

pychromatic-0.6.0-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file pychromatic-0.6.0.tar.gz.

File metadata

  • Download URL: pychromatic-0.6.0.tar.gz
  • Upload date:
  • Size: 833.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pychromatic-0.6.0.tar.gz
Algorithm Hash digest
SHA256 8a2cfaa8485bdc0051eaa97a8d91050bd110bb438616f6ffd667c490c771d182
MD5 ab781893b6c90bf749a956aa8b12ec4c
BLAKE2b-256 497a3819b9271c1265544aebfb8776b7b29d612ec96bde31d927435eacd73449

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychromatic-0.6.0.tar.gz:

Publisher: publish.yml on pyscal/pychromatic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pychromatic-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: pychromatic-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pychromatic-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccab61562b8a50c9da6e9257b8bb1b70254eb87f2d7c519444e45a9280c72176
MD5 d4e674841cedf9c74867d7a490723bae
BLAKE2b-256 978b70580d745356340d9dd0628cb2c08185863b5963a71cfbd82ead8e169446

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychromatic-0.6.0-py3-none-any.whl:

Publisher: publish.yml on pyscal/pychromatic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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