web-dev-qa-db-ja.com

SeabornパレットからRGBまたは6桁のコードを抽出する

シーボーンには、ナイスカラーパレットを作成するオプションがあります。これらのパレットを使用して、いくつかのプロパティに応じて国が陰影付けされているマップでうまく機能する色を生成したいと思います。次のコードは、明るい色から暗い色まで、8つの紫の色合いを生成します。また、色の数を指定する機能が必要であるため、定義済みの色の固定パレットだけを使用することはできません。

import seaborn as sns
num_shades = 8
sns.palplot(sns.cubehelix_palette(num_shades))

私は同じように実行しますが、そのようなリストで:

color_list = sns.cubehelix_palette(num_shades)

あなたが得る:

[[0.9312692223325372, 0.8201921796082118, 0.7971480974663592], ... 

これらは明らかに私が必要としているRGB値ではありません。

1)これらの色はどの形式になっていますか? 2)RGBまたは6桁のコードに変換するにはどうすればよいですか?

私はかなり長い間検索を試みましたが、答えは見つかりませんでした。私はここと他の海のドキュメントを見てきました:

https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_color_codes.html

RGBから6桁のコードに変換できます。

RGBカラータプルをPythonで6桁のコードに変換

しかし、それを直接またはRGB値を取得する方法については行き詰まっています。任意の助けいただければ幸いです。

18
Pete

取得する値は、最大RGB値である255のパーセンテージです。値の各トリプレットに255を掛けて(必要に応じて四捨五入)、RGB値を取得します。

for color in color_list:
    for value in color:
        value *= 255

次に、それらを新しいリストに保存して、RGB値のリストを取得します。

4
perfect5th

「6桁のコード」によって16進コードを意味する場合は、次のようにすることもできます。

pal = sns.color_palette(...)
pal.as_hex()
41
mwaskom