从Seaborn p中提取RGB或6位代码

2024-09-28 22:03:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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位代码?

我找了好长一段时间都没有找到答案。我看过这里和其他海生文献:

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值来实现。任何帮助都将不胜感激。


Tags: 代码颜色地图rgbseaborn国家协同工作num
2条回答

如果“6位代码”是指十六进制代码,则还可以执行以下操作:

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

您得到的值是255的百分比,即最大RGB值。 只需将每个三元组的值乘以255(如果愿意,可以舍入)就可以得到RGB值。

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

然后将它们存储在一个新列表中,以获得RGB值列表。

相关问题 更多 >