Creating a python package with color palettes and utilities for their use in matplotlib, seaborn, plotly, and others.
🚧 WORK IN PROGRESS 🚧
R users or Python users who don't want to install the package but still want to use the palettes, can download them in CSV form from the dataset's permalink!
The package is available through pypi, so it can be installed by running:
pip install ArtSciColor
To use a color palette simply load the package and run:
import ArtSciColor as art
hexPalette = art.getSwatch(SWATCH_ID)
where the SWATCH_ID
should match one of the palettes available in our package (see the following section for more info).
Have a look at currently-available palettes by selecting your favorite artist or category, and use one through its ID
!
Miro, Kandinsky, Kirchner, Matisse, Picasso, Signac, Warhol, Nolde, Monet, VanGogh, EdnaAndrade, DarbyBannard, UmbertoBoccioni, Magritte
Splatoon1, Splatoon2, Splatoon3
chipdelmal, lospec, institutions, coolors, color-hex, and schemecolor
Full dataframe in CSV for available for download here!
Getting palette colors is a common exercise for people getting started into clustering methods. The most widely-used algorithm for this task is k-means, but in this package the algorithm and its parameters can be provided as long as they adhere to scikit-learn's standards. Most of the curated palettes were calculated through the agglomerative clustering algorithm as follows:
from sklearn.cluster import AgglomerativeClustering
# Read image and setup number of desired clusters
img = art.readCV2Image(fPath)
CLST_NUM=4
# Clustering algorithm
CLUSTERING = {
'algorithm': AgglomerativeClustering,
'params': {'n_clusters': CLST_NUM}
}
(pixels, labels) = art.calcDominantColors(
img,
cFun=CLUSTERING['algorithm'],
cArgs=CLUSTERING['params']
)
Other algorithms such as DBSCAN and HDBSCAN, Spectral Clustering, OPTICS, etc; can also be used.
This package was initially inspired by Blake R Mills' R packages (MoMA Colors and MetBrewer). Most palettes or original artworks are sourced from: NGA, wikiart, staedelemuseum, filmartgallery, coolors, schemecolor, color-hex, inkipedia, lospec; so please visit and support their work!
Coded by: Héctor M. Sánchez C.