方法:
a、依据波段的相隔位置、频率关系取色,避免相邻波段频繁取值。
b、在选取的波段之间进行色值运算,平滑过度。
目的:方便开发计算 / 提高通用化程度。
图2:最终选取的20色种基础色
图3:在20个基础色中进行筛选,根据波段选取7个主应用基础色
拓展应用(基于7色值):
a、基础色的应用
表示区分类别:以波段相隔的原则选取色彩(常规基础色7种)。如,2色选取采用RGB3大波段中的任意2波段内7大基础色。,3-4色采用奇偶原则选取色彩,5-6色以上则采用1357+x规律选取。(如图4所示)
图4:基础色的应用
b、邻近色的应用
表同类属性:选取7色,并于20色值中选取其相邻波段色从而产生H(色相)接近,且(S)饱和度、(B)明度相似的同类色。数据运算时,7色为起始值,邻近色为结束值,两者间平滑过度的色值为计算值。(如图5所示)
图5:邻近色的应用
c、同色渐变拓展的应用
表程度延生:在a、b的基础上,拓展渐变色渐变方法又2种,一种依据透明度-10%的梯度递减规律,一种依据HSB中H(色相)值不变,而变换S(饱和度)与B(明度)值的函数关系递减规律。(如图6,图7所示)
图6:同色渐变拓展的应用
图7:同色渐变拓展的应用,色彩矩阵
案例与比较:
次色彩应用的算法在JS组件库中的8大组件中均有优化体验效果,介于篇幅,此处仅以Stream图为例,展现之前的2种色彩应用与当下研究后色彩应用的比较,各有利弊,但从之前提及的立场与角度而言,毫无疑问,本次研究还是取得了期望的效果。(如图8/图9/图10所示)
图8:依靠设计师取色,虽然色相区分明显,但需要前端工程师一一填色的色彩输入。且从美学上看比较杂乱,从拓展性上看缺乏规律,从开发的角度,缺乏色彩主题性与规范性。
图9:依靠简单的色彩渐变,从识别上看蓝绿色彩区分度并不明显,从美学上看,中间的过度颜色也很脏
图10:依靠当下的波段算法,清晰有效的将蓝绿2种接近的色彩做了有效区分,且有延续的渐变效果
终于写完了,感谢一下负责开发的工程师宁朗同学,也感谢一下主导这次进程的主管知秋,在我们3人的合力下,这种算法终于从概念慢慢落地,并将为之后可视化组件库的用户们提供更多更好的体验,加油!
by:kaka
更多详细信息,请您微信关注“计算网”公众号: