首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数值列表映射到颜色

将数值列表映射到颜色
EN

Stack Overflow用户
提问于 2009-01-30 23:08:58
回答 4查看 1.8K关注 0票数 5

我有一个数值列表。如果需要,我可能会对这些值进行标准化。

我需要将这个列表转换成一个颜色列表(在HSL,RGB或任何其他颜色模型中-我总是可以在以后进行转换)。

对于任何给定值,颜色必须每次都相同。

两个给定的数值越不同,相应的值就应该有越大的对比度。

所有使用的颜色必须尽可能地相互对比(这是一个软限制,粗略的解决方案就可以了)。

请注意,列表相当大(数千个数字),因此简单地将所有数字压缩到一个颜色通道中会产生过于密集的结果。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-01-30 23:37:49

你可以考虑在你选择的色彩空间中使用3D space-filling curve。我会支持马克的CIELAB建议,希望我上次解决类似问题时就知道了。

票数 2
EN

Stack Overflow用户

发布于 2009-01-30 23:30:28

无论您最终采用哪种算法,都可以尝试使用CIELAB颜色空间。它对人类颜色感知的差异进行了归一化,因此相等的数字间距会产生相同的感知差异。

票数 2
EN

Stack Overflow用户

发布于 2009-01-30 23:13:12

请参阅:How to automatically generate N "distinct" colors?

最好是标准化你的值,并通过我建议的代码运行它们(其中hue ==你的值),构建一个映射/散列。(您可以改用散列样式的函数,这可能更有效。)

例如,您可以使用数字中的一些预定位来“随机化”亮度(或亮度,取决于您的型号)和饱和度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/497635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档