A large (+2500) collection of color maps for Python.
- All available palettes can be found in the Color Palette Finder.
- To learn more about how to use
pypalettes
, please refer to the official documentation.
This package is based on the R package paletteer, and all associated sub-packages (with original palettes) mentioned in the LICENSE file.
Note: pypalettes requires Python 3.9 or above.
You can install pypalettes
directly from PyPI with:
pip install -U pypalettes
Once pypalettes
is imported, all the palettes are now accessible as any other colormap in matplotlib or seaborn via the palette
or cmap
arguments.
import matplotlib.pyplot as plt
import seaborn as sns
import pypalettes
df = sns.load_dataset("penguins")
g = sns.lmplot(
data=df, x="bill_length_mm", y="bill_depth_mm", hue="species", palette="Fun"
)
g.set_axis_labels("Snoot length", "Snoot depth")
plt.show()
Note: the suffix _gradient
is used to make the colormap a gradient.
import matplotlib.pyplot as plt
import pypalettes
import numpy as np
data = np.random.randn(20, 20)
plt.imshow(data, cmap="Sunset2_gradient")
plt.colorbar()
plt.show()
import matplotlib.pyplot as plt
from pypalettes import add_cmap
import numpy as np
add_cmap(
colors=["#D57A6DFF", "#E8B762FF", "#9CCDDFFF", "#525052FF"],
name="myOwnCmap",
cmap_type="continuous",
)
x = np.linspace(0, 20, 1000)
y = np.sin(x)
plt.scatter(x, y, c=y, cmap="myOwnCmap")
plt.colorbar()
plt.show()
- Add +2500 native palettes to matplotlib and seaborn
- Load, customise and combine +2500 palettes
- Create your own palettes
To find out more about using PyPalettes, use this PyPalettes guide.
Click on the image to get the associated code!
PyPalettes
is highly inspired (and relies on for the first one) from
- the R package paletteer
- the python library palettable
A big thanks to Yan Holtz for:
- Creating the web app for browsing palettes
- Hosting the documentation and examples on the Python Graph Gallery
- Providing valuable feedback on the code and design of the API
Since the core code of the library is currently quite short and simple, it does not require any major changes. However, if you have a good idea or suggestion, please open an issue.
That said, adding more palettes is an easy way to make pypalettes
better! Here’s the best way to get started:
First, open your code editor and navigate to parsers/list_manual_palettes.py
. You’ll find a dictionary of manually defined palettes. Add yours at the end with the following elements:
"name"
: the name of your palette"palette"
: the colors of your palette in the following format:["['#123456', '#654321', '#162534']"]
"source"
: Where does your palette come from? If you created it, your name or a link to your portfolio is valid!"kind"
: the type of palette. View examples here"paletteer-kind"
: just put"unknown"
Then, run:
python parsers/main.py
For a large number of palettes, please open an issue first.