Seaborn可以选择创建漂亮的调色板。我希望使用这些调色板生成颜色,这些颜色可以在地图中很好地协同工作,其中根据某些属性对国家进行着色。以下代码从浅到深产生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位代码?
我试过很长一段时间没找到答案。我看过这里和其他seaborn文档:
https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.set_color_codes.html
我可以使用以下方法从RGB转换为6位数代码:
Converting a RGB color tuple to a six digit code, in Python
但我对如何直接或通过获取RGB值感到困惑。任何帮助将不胜感激。
答案 0 :(得分:26)
如果通过" 6位数代码"你的意思是十六进制代码,你也可以这样做:
pal = sns.color_palette(...)
pal.as_hex()
答案 1 :(得分:6)
您获得的值是255的最大RGB值百分比。 只需将每个三元组值乘以255(如果您愿意,可以舍入为圆形)以获取RGB值。
for color in color_list:
for value in color:
value *= 255
然后将它们存储在新列表中以获得RGB值列表。