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.1.tar.gz (835.2 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.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pychromatic-0.6.1.tar.gz
  • Upload date:
  • Size: 835.2 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.1.tar.gz
Algorithm Hash digest
SHA256 47a4fdfead5b85a2e4490b8424ea749818a41416a3178da2f6000dab72abf3ab
MD5 16821c91c175e36de81dda4029df26d9
BLAKE2b-256 03d7a718e2f4cc849b9c636b1c43dfe9e043a02accb9e58fe436411a12cb48e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychromatic-0.6.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: pychromatic-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76e36ebf28d1e96fd638642424b27d20b41cbbb882329c4ab5652da3cec7d128
MD5 983261ad34b8bb0e9a9bd4ebb703f937
BLAKE2b-256 0134a4b0dc244f97093344b35fc354c45264252fa5b1864e6e175c28c7043ce4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychromatic-0.6.1-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