Seaborn a une option pour créer de belles palettes de couleurs. Je souhaite utiliser ces palettes pour générer des couleurs qui fonctionnent bien ensemble dans une carte où les pays sont ombrés selon une propriété. Le code suivant produit 8 nuances de violet du clair au foncé. Notez également que la possibilité de spécifier le nombre de couleurs est requise, donc je ne peux pas simplement utiliser une palette fixe de couleurs définies.
import seaborn as sns
num_shades = 8
sns.palplot(sns.cubehelix_palette(num_shades))
Si je lance la même chose mais dans une liste comme ça:
color_list = sns.cubehelix_palette(num_shades)
vous obtenez:
[[0.9312692223325372, 0.8201921796082118, 0.7971480974663592], ...
Ce ne sont clairement pas des valeurs RVB, c'est ce dont j'ai besoin.
1) Dans quel format sont ces couleurs? 2) Comment convertir en codes RVB ou 6 chiffres?
J'ai essayé de chercher pendant un certain temps et je n'ai trouvé aucune réponse. J'ai regardé ici et d'autres documents marins:
https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_color_codes.html
Je peux convertir des codes à 6 chiffres de RVB en utilisant:
Conversion d'un Tuple de couleur RVB en un code à six chiffres, en Python
mais je suis coincé sur la façon de le faire directement ou via l'obtention des valeurs RVB. Toute aide serait appréciée.
Les valeurs que vous obtenez sont des pourcentages de 255, la valeur RVB max. Multipliez simplement chaque triplet de valeurs par 255 (et arrondissez, si vous le souhaitez) pour obtenir les valeurs RVB.
for color in color_list:
for value in color:
value *= 255
Ensuite, stockez-les dans une nouvelle liste pour avoir votre liste de valeurs RVB.
Si par "code à 6 chiffres" vous entendez un code hexadécimal, vous pouvez également faire:
pal = sns.color_palette(...)
pal.as_hex()