JosephBARBIERDARNAL / pypalettes

A large (+2500) collection of color maps for Python
https://python-graph-gallery.com/color-palette-finder/
Other
235 stars 8 forks source link
cmap color matplotlib visualization

PyPalettes

pypalettes logo

A large (+2500) collection of color maps for Python.

![](pypalettes.gif)

This package is based on the R package paletteer, and all associated sub-packages (with original palettes) mentioned in the file LICENSE.



Installation

Note: pypalettes requires Python 3.9 or above.

You can install pypalettes directly from PyPI with:

pip install --upgrade pypalettes

Alternatively you can install the development version with:

pip install git+https://github.com/JosephBARBIERDARNAL/pypalettes.git



Quick start

Once the cmap is loaded, you can use it as any other color map in matplotlib or seaborn.

import matplotlib.pyplot as plt
from pypalettes import load_cmap
import seaborn as sns
import numpy as np

data = np.random.rand(10, 12)

cmap = load_cmap('Anemone', cmap_type='continuous')

sns.heatmap(data, cmap=cmap)
plt.show()

heatmap example



Getting started


from pypalettes import load_cmap
cmap = load_cmap('Chaetodon_sedentarius')
cmap

Darjeeling2


from pypalettes import load_cmap
cmap = load_cmap('Chaetodon_sedentarius', cmap_type='continuous')
cmap

Darjeeling2


from pypalettes import load_cmap
cmap = load_cmap('Chaetodon_sedentarius', reverse=True)
cmap

Darjeeling2


from pypalettes import get_hex
get_hex('pupitar')

['#7098C0FF', '#88C0E8FF', '#285880FF', '#B8E0F8FF', '#F8F8F8FF', '#404060FF', '#A8A8A8FF', '#C8C8D0FF', '#B04000FF']


from pypalettes import get_rgb
get_rgb('AirNomads')

[(255, 153, 51), (194, 72, 65), (255, 255, 51), (139, 91, 69), (135, 175, 209), (238, 176, 90), (219, 197, 160)]


from pypalettes import get_hex
get_hex(['Alacena', 'Antique'])

['#693829FF', '#894B33FF', '#A56A3EFF', '#CFB267FF', '#D9C5B6FF', '#9CA9BAFF', '#5480B5FF', '#3D619DFF', '#405A95FF', '#345084FF', '#855C75FF', '#D9AF6BFF', '#AF6458FF', '#736F4CFF', '#526A83FF', '#625377FF', '#68855CFF', '#9C9C5EFF', '#A06177FF', '#8C785DFF', '#467378FF', '#7C7C7CFF']


More examples can be found in this introduction to PyPalettes.



Chart made with pypalettes

Click on the image to get the associated code!

choropleth map of europe stacked area chart of natural disasters
gapminder bubble chart lollipop chart with colormap and arrow



Contributing

Installation for contributions

  1. Fork the Repository: Fork this repository to your GitHub account.

  2. Clone the Repository:

    git clone https://github.com/JosephBARBIERDARNAL/pypalettes.git
    cd pypalettes
  3. Set Up a Virtual Environment:

    • Mac/Linux:
      python3 -m venv venv
      source venv/bin/activate
    • Windows:
      python -m venv venv
      venv\Scripts\activate
  4. Install Dependencies:

    pip install -r requirements-dev.txt
    pip install -e .
  5. Create a Feature Branch:

    git checkout -b feature-name
  6. Start Coding!

Since the core code of the library is currently quite short and simple, it does not require any major changes. However, if you feel like you have a good idea/suggestion, please open an issue.

BUT, more palettes is one easy way to make pypalettes better! Here is the best way to get started:

Then open your code editor and open parsers/list_manual_palettes.py. You will find a dictionnary of dictionnary of manually defined palettes. Add yours at the end with the following elements:

For a large number of palettes, please open an issue first.



Acknowledgements

PyPalettes is highly inspired (and relies on for the first one) from

A big thanks to Yan Holtz for:



How data has been collected

99% of the palettes come from the Paletteer R package.

Learn more in the dedicated directory.