Python生成特定风格的配色组合

Python数据可视化 关于cmap颜色函数的试验 color example code: colormaps_reference.py """ ================== Colormap reference ================== Reference for colormaps included with Matplotlib. This reference example shows all colormaps included with Matplotlib. Note that any colormap listed h 阅读详情

需求描述

最近有一个需求,在图像上画目标框的时候,有些类别的框需要用冷色调,有些类别的框需要用暖色调,但是不同实例的框颜色需要有差异。如果用随机数生成颜色,有时候不够美观,所以就想到从 matplotlib 的 colormap 中选取一些漂亮的颜色组合。

简单来说,就是写一个函数,用来生成指定数量的颜色列表,所有颜色从某一指定风格的色板中提取。

例如下图:从这个风格的colormap中,等间隔提取若干个颜色。
在这里插入图片描述
也可以从冷色调、暖色调中提取所需要的颜色数值列表:
在这里插入图片描述

代码示例

主体思路就是,选择一个你觉得美观的 colormap 色板1,根据你需要生成的配色数量,用等间隔或者其他采样策略,去 colormap 去提取 rgb 颜色数值,顺便转成十六进制的颜色码2,输出 rgb_list 和 hex_list。

def RGB_to_Hex(rgb):
    """
    RGB格式颜色转换为16进制颜色格式
    Args:
        rgb: tuple

    Returns:
        color: str
    """
    RGB = list(rgb)
    color = '#'
    for i in RGB:
        num = int(i)
        color += str(hex(num))[-2:].replace('x', '0').upper()
    return color
    
def generate_colors(N=12,colormap='hsv'):
    """
    生成颜色列表
    Args:
        N: 生成颜色列表中的颜色个数
        colormap: plt中的色表,如'cool'、'autumn'等

    Returns:
        rgb_list: list, 每个值(r,g,b)在0~255范围
        hex_list: list, 每个值为十六进制颜色码类似:#FAEBD7
    """
    step = max(int(255/N),1)
    cmap = plt.get_cmap(colormap)
    rgb_list = []
    hex_list = []
    for i in range(N):
        id = step*i # cmap(int)->(r,g,b,a) in 0~1
        id = 255 if id>255 else id
        rgba_color = cmap(id)
        rgb = [int(d*255) for d in rgba_color[:3]]
        rgb_list.append(tuple(rgb))
        hex_list.append(RGB_to_Hex(rgb))
    return rgb_list,hex_list
    
# 生成 6个冷色调的颜色
rgb_list,hex_list = generate_colors(6,'cool')
print(rgblist)
print(hexlist)

这段程序会输出我们需要的6个冷色调颜色,一个是rgb列表,一个是16进制颜色码列表:
在这里插入图片描述
代码中 cmap = plt.get_cmap(colormap) 可以获取matplotlib里的指定调色板(colormap)

我们按照所需的颜色数量N,等间隔去调色板中取色:rgba_color = cmap(step*i)
在这里插入图片描述
对tuple中的每个值乘以255,就能得到 r,g,b,a 的数值。

色板参考

matplotlib中的colormaps1:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考链接


  1. https://matplotlib.org/3.3.0/gallery/color/colormap_reference.html#sphx-glr-gallery-color-colormap-reference-py ↩︎ ↩︎

  2. https://blog.youkuaiyun.com/sinat_37967865/article/details/93203689 ↩︎

matplotlib中cmap与color参数的设置 camp和color参数的可选项汇总 阅读详情

相关推荐

Python数据可视化:plt.contourf等高线图cmap参数全解析(附效果对比图)

本文全面解析了Python中plt.contourf函数绘制等高线图时cmap参数的选择与应用。通过对比不同色彩映射(如viridis、jet、coolwarm)的视觉效果,详细拆解了顺序型、发散型、分类型色彩映射的设计逻辑与适用场景,并提供了实战选择流程,帮助读者根据数据类型和展示需求,做出专业、高效的配色决策,提升数据图表的可读性与信息传达效率。

7up55的博客 1012

python——个性化颜色条

图例可以将离散的点标示为离散的标签。对于建立在不同颜色之上的连续的值(点线面)来说,标注了的颜色条是非常方便的工具。Matplotlib 的颜色条是独立于图表之外的一个类似于比色卡的图形,用来展示图表中不同颜色的数值含义。

dingning12469的博客 3155

科研论文配色实战:从双色到多色的完美过渡(附Python代码示例)

本文详细介绍了科研论文中数据可视化的配色技巧,从双色对比到多色组合的完美过渡,提供Python代码示例帮助读者实现专业级图表。内容涵盖色盲友好调色板、单色调渐变、定性调色板等实用方案,并指出常见配色陷阱,助力提升学术图表的信息传达效果。

linux的博客 991

深入探索Python数据可视化:自定义颜色映射、标签与进阶技巧

颜色映射(Colormap,简称Cmap)是将数值数据映射到颜色范围的一种方法。通过合理的Cmap,我们可以更直观地表达数据的变化。在Matplotlib和Seaborn中,Cmap得到了广泛应用。有时候,我们需要根据数据的特性自定义Cmap。# 定义自定义颜色映射函数else:# 生成随机数据# 使用自定义颜色映射函数# 创建散点图plt.show()在这个例子中,我们定义了一个custom_color_map函数,根据数据点的值返回红色或蓝色,然后将其应用于散点图中。

这家伙很懒,什么都没有留下 2604

Seaborn热力图配色全攻略:用Python一键生成50+种风格的相关系数矩阵图

本文详细介绍了如何使用Seaborn在Python中生成50+种风格的热力图,特别适用于相关系数矩阵的可视化。通过自动化批处理技术和智能配色方案,帮助数据分析师快速选择最佳视觉呈现,提升报告的专业性和信息传达效果。

weixin_29085865的博客 149

Python数据可视化配色全攻略:从Matplotlib到Seaborn与Plotly

数据可视化是现代数据分析与科学计算的核心环节,其本质是将抽象数据转化为直观图形以提升信息传递效率。在技术实现层面,颜色作为视觉编码的关键要素,直接影响图表的可读性、美观度与专业性。Python生态中的主流可视化库如Matplotlib、Seaborn和Plotly均提供了完整的色彩管理体系,涵盖颜色表示法、调色板生成与动态映射等机制。通过理解RGB/HEX颜色模型、透明度控制及感知均匀性原理,开发者能够为连续型数据选择顺序型或发散型颜色映射,为离散型数据配置高区分度的定性色板。在工程实践中,合理运用Seab

weixin_30753873的博客 529

基于Stable Diffusion的AI角色设计:从配色方案到风格迁移实战

风格迁移是计算机视觉领域的一项关键技术,它通过学习源图像的风格特征并将其应用于目标图像,实现艺术风格的转换。其核心原理通常基于深度神经网络,如卷积神经网络(CNN)对图像内容和风格进行分离与重组。这项技术的价值在于能够极大降低艺术创作和视觉设计的门槛,为游戏角色设计、动漫同人创作、概念艺术草图等场景提供高效的辅助工具。通过精准的提示词工程和模型微调,可以将抽象的配色逻辑转化为可控的视觉输出。本文将以《小马宝莉》角色重设计为例,详细拆解如何利用Stable Diffusion等AI绘画工具,构建一套从配色提取

weixin_34396103的博客 383

AI绘画提示工程实战:基于角色配色方案的角色重设计工作流

提示工程(Prompt Engineering)是AI绘画领域的核心技术,它通过将抽象创意转化为AI模型可理解的精确指令,解决了生成内容可控性差的难题。其原理在于利用自然语言描述,引导扩散模型等生成式AI在潜空间中进行有方向的采样,从而输出符合预期的视觉内容。这项技术的核心价值在于极大地提升了内容创作的效率与可控性,使设计师和创作者能够快速实现角色设计、概念艺术等创意构想。在应用场景上,它广泛应用于游戏角色皮肤设计、动漫同人创作、品牌吉祥物衍生设计等领域。本文以《小马宝莉》角色重设计为例,深入拆解了从特征解

weixin_34221073的博客 424

图图的嗨丝造相-Z-Image-Turbo实操手册:批量生成不同校服配色+渔网袜组合方案

本文介绍了如何在星图GPU平台上自动化部署图图的嗨丝造相-Z-Image-Turbo(大网渔网袜)镜像,并利用其批量生成功能。通过编写脚本,用户可快速生成不同校服配色与渔网袜组合的创意图片,极大提升角色设计、游戏美术等内容创作的效率。

weixin_36464343的博客 894

Python图形学实战:从零编码生成动漫风格图像与动画

计算机图形学是研究如何在计算机中表示、生成和处理视觉内容的学科,其核心原理包括坐标系统、几何变换、颜色模型与光栅化。在Python生态中,Pillow和Pycairo等库为图形编程提供了强大支持,前者专注于像素级位图操作,后者则擅长生成可无限缩放的矢量图形。掌握这些技术不仅能深化对数字图像底层原理的理解,更能将创意转化为具体的视觉作品,在游戏开发、数字艺术、UI设计和自动化内容生成等领域具有广泛的应用价值。本文以动漫风格创作为具体场景,通过Pillow库的像素操作和PyGame的动画引擎,详细演示了如何从基

weixin_30247781的博客 402

别再手动调色了!ArcGIS中一键保存并复用色彩映射表,让你的地物分类图配色更专业

本文详细介绍了ArcGIS中色彩映射表的高阶应用,帮助用户一键保存并复用专业配色方案,提升地物分类图的制图效率与视觉质量。通过创建.clr文件、导入专业配色方案及动态调整技巧,实现跨项目、跨设备的色彩一致性,特别适合GIS制图人员提升工作效率。

weixin_33744141的博客 374

如何通过专业配色方案提升编程效率?Dayle Rees配色方案全面解析

你是否曾在深夜编程时感到眼睛干涩疲劳?是否觉得单调的黑白代码界面让你难以保持专注?在长时间的编程工作中,视觉舒适度直接影响着开发效率和代码质量。Dayle Rees配色方案正是为解决这一痛点而生,它为开发者提供了超过80种精心设计的色彩主题,让你告别单调的代码界面,享受个性化的编码体验。 ## 从视觉疲劳到高效编码:配色方案的重要性 编程是一项高度专注的视觉工作,研究表明,合适的色彩搭配可以显

gitblog_00995的博客 886

Python数据可视化配色方案宝典

Python作为数据分析和科学计算领域中的利器,其丰富的可视化库为数据展示和分析提供了强大支持。本章将详细介绍Python中的主流可视化库,包括Matplotlib、Seaborn以及其他一些值得关注的可视化工具。Matplotlib是Python中用于数据可视化的基础库,支持多种平台和后端。它由John Hunter于2003年创建,旨在模仿MATLAB的绘图功能。Matplotlib的主要特点包括:绘图类型多样。

weixin_29097457的博客 1247

Z-Image-Turbo剪纸艺术风格图像生成突破

Z-Image-Turbo通过高效的架构设计与强大的语义理解能力,证明了轻量化AI模型同样可以胜任高度风格化的创作任务。本次剪纸艺术风格的成功实现,不仅是技术层面的一次验证,更是AI赋能传统文化传播的重要实践。✅无需训练即可实现风格迁移:依赖提示词工程而非参数微调✅本地化高效运行:消费级GPU即可流畅生成1024×1024图像✅高度可控的输出质量:通过参数组合稳定获得预期效果✅支持文化创新应用:可用于非遗数字化、节庆设计、教育展示等场景。

weixin_30765637的博客 824

Arm Neoverse CMN-700 SLC内存系统与缓存分区技术解析

现代处理器架构中,缓存一致性协议与内存子系统设计直接影响系统性能。Arm Neoverse CMN-700采用的SLC(System Level Cache)通过16-way组相联设计实现高效数据缓存,其物理地址索引机制支持灵活的way分区配置。在软件可配置内存(OCM)模式下,SLC可作为独立内存空间使用,通过寄存器控制实现模式切换与区域锁定。缓存分区技术则通过请求源分类和way-based分配策略,满足实时性任务与吞吐量场景的不同需求。这些技术在5G基站、边缘计算等低延迟场景中具有重要应用价值,特别是C

weixin_30263073的博客 611

SAP VC实战:用CU01和CS02搞定BOM里的‘智能’对象相关性(附语法避坑指南)

在工业制造领域,产品配置的复杂性往往超出想象。想象一下,当客户需要定制一台工业设备时,可能有数百种配置选项相互影响——从基础材质到动力系统,从控制模块到安全装置。如何在SAP系统中优雅地管理这种复杂性?对象相关性(Object Dependencies)就是解决这一挑战的利器。

weixin_42524824的博客 466

GSD Core 默认切换到 end-of-phase 人工验证模式:`workflow.human_verify_mode` 的原理、配置与回退指南

本文围绕 GSD Core(Git. Ship. Done — Core)在 PR #3309 中引入的关键行为变更展开:`workflow.human_verify_mode` 的默认值从"任务中途逐点暂停人工确认"(mid-flight)切换为"阶段末尾批量人工验收"(end-of-phase)。你将理解为什么这个默认值变更能显著降低执行器(executor)冷启动带来的 Token 消耗,掌

gitblog_00423的博客 876

速腾聚创激光雷达复现FAST-LIO

记录复现FAST-LIO算法的过程和,代码梳理和理解。FAST-LIO的简化版、注释版。速腾激光雷达

abanchao的博客 2928

450+款iTerm2配色方案:打造你的专属终端视觉体验

iTerm2-Color-Schemes是一个包含超过450款终端配色方案的强大资源库,专为iTerm2用户设计,让你的终端界面从单调的黑白世界跃升为个性化的视觉盛宴。这个开源项目不仅支持iTerm2,还提供了对多种终端和编辑器的适配方案,包括Terminal、Konsole、PuTTY、Windows Terminal、Visual Studio Code、Alacritty等主流工具。 ##

gitblog_00426的博客 915

手把手教你用STM32标准库写一个能OTA升级的Bootloader(附完整代码)

本文详细介绍了如何使用STM32标准库开发支持OTA无线升级的Bootloader系统,包括Flash分区规划、Bootloader核心实现、无线升级流程及安全校验机制。通过实战代码示例,帮助开发者快速掌握STM32固件升级技术,提升物联网设备的远程维护能力。

weixin_30181209的博客 262

机器学习预测股票收益(一)之随机森林模型

机器学习预测股票收益(一)前言一、导入库和数据二、处理数据以及计算特征变量三、使用随机森林回归预测股票收益1.构建训练集和测试集2.查看预测结果四、根据预测结果构建long-short投资组合1.定义投资组合函数2.定义绩效分析函数五、引入Fama-French Factor六、投资组合表现1.超额收益表现2.多因子回归总结 前言 本文将使用Python整理1927-2020年所有美国上市公司股票数据。根据历史收益以及交易量,使用随机森林,支持向量机以及神经网络等机器学习方法预测股票收益。最优结果构建的资产

weixin_47174968的博客 1万+

AI绘画实战:Stable Diffusion精准生成OC角色与帝皇风格融合

风格迁移是计算机视觉领域的重要技术,其核心原理是通过深度学习模型将目标风格的视觉特征应用于源图像。在AI绘画中,这一技术通过文本引导和图像控制实现创意表达,其中提示词工程和ControlNet插件发挥着关键作用。Stable Diffusion作为开源代表工具,支持LoRA微调和参数调试,能够有效解决OC角色特征保持与服装风格融合的技术难点。本文以'帝皇风格'为具体应用场景,详细解析如何通过环境配置、特征提取和提示词优化,实现原创角色与特定风格的精准生成,为AI绘画爱好者提供从基础到实战的完整指导。

weixin_29054399的博客 284

ParaView: GUI 轴网格

ParaView: GUI 轴网格

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1922

450+款iTerm2配色方案:打造专业高效的个性化终端界面

你是否每天面对单调的终端界面感到视觉疲劳?长时间编码时眼睛容易干涩?不同开发环境下终端显示效果参差不齐?iTerm2-Color-Schemes项目提供了超过450种精心设计的配色方案,帮助开发者打造既美观又实用的个性化终端界面,显著提升编程体验和工作效率。 ## 痛点分析:为什么终端配色如此重要? ### 视觉疲劳与工作效率的平衡 开发者每天花费数小时在终端前工作,不当的配色方案会导致眼睛

gitblog_00658的博客 458

华为OD机试 - 统计文本数量(Java 2025 A卷 100分)

华为OD机试 2025A卷题库疯狂收录中,刷题。

学Java,找哪吒 1438

CVAEGAN实现锂离子电池EIS数据增强:基于健康状态的阻抗谱生成

本文提出了一种基于CVAEGAN的锂离子电池EIS数据增强方法。该方法结合了变分自编码器和生成对抗网络的优点,能够根据指定的健康状态(SoH)生成高质量的EIS阻抗谱数据。文章详细介绍了数据预处理流程、模型架构设计(包括编码器、解码器和判别器),并提供了完整的PyTorch实现代码。通过条件生成的方式,该方法可以有效解决电池健康评估中标注数据不足的问题,为基于数据驱动的电池诊断提供更丰富的训练样本。实验结果表明,生成的EIS数据具有良好的真实性和多样性,可用于增强电池健康状态评估模型的性能。

huanghm88的专栏 497
上一篇: Markdown YYDS,但是编辑器依旧可以更好 | 优快云编辑器测评
下一篇: 用python写一个图像文字识别OCR工具
虾米小馄饨
博客等级 码龄12年 1万+粉丝 60原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值