You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何按分类标签生成对应随机RGB颜色值数组

分类类别RGB值分配及数组生成方法

步骤1:提取唯一类别

你给出的示例标签列表为[1, 2, 2, 4, 4, 1, 3, 3, 3, 3],先对标签去重得到唯一类别集合[1,2,3,4],只需为这4个类别各分配一组不重复的RGB三元组即可。

步骤2:为类别分配唯一RGB值

可以根据使用场景选择分配方式:

  • 手动指定:适合类别数量少的场景,直接选择辨识度高的颜色即可,比如4个类别的RGB可设置为:
    类别1:[253, 0, 134]
    类别2:[24, 222, 128]
    类别3:[22, 100, 255]
    类别4:[222, 111, 74]
  • 自动生成:如果类别数量较多不想手动配置,可以从HSV颜色空间均匀取色相值后转换为RGB,保证不同类别颜色区分度足够,Python环境下也可以直接调用matplotlib.cm.get_cmap获取预设离散配色的RGB值。

步骤3:映射生成全量RGB数组

按照标签的顺序,把每个位置的标签替换成对应类别的RGB值即可得到10个数据点对应的3列RGB数组。
以上述示例标签和手动配置的RGB映射为例,最终输出的数组如下:

[[253, 0, 134],
 [24, 222, 128],
 [24, 222, 128],
 [222, 111, 74],
 [222, 111, 74],
 [253, 0, 134],
 [22, 100, 255],
 [22, 100, 255],
 [22, 100, 255],
 [22, 100, 255]]

Python实现参考代码:

import numpy as np
# 输入标签列表
labels = [1,2,2,4,4,1,3,3,3,3]
# 建立类别到RGB的映射字典
label_rgb_map = {
    1: [253, 0, 134],
    2: [24, 222, 128],
    3: [22, 100, 255],
    4: [222, 111, 74]
}
# 生成RGB数组
rgb_array = np.array([label_rgb_map[label] for label in labels])
print(rgb_array)

内容的提问来源于stack exchange,提问作者maximus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:15:02