zoukankan      html  css  js  c++  java
  • 可视化学习笔记4:使用颜色

    使用颜色

    颜色是设计可视化图表的重要工具,使你能够表示另一个变量或对数据分组。但是,在选择使用哪种颜色以及如何应用这些颜色时,需要考虑很多问题。首先,我将讨论如何为要处理的数据选择正确的调色板。然后,我将讨论如何考虑色盲人士。

    请看看下面两个关于 GDP 和预期寿命的图表,了解下颜色的作用:

    2010 年各国的人均 GDP 与预期寿命,可以看到基本上升趋势。

    GDP 与预期寿命,现在用颜色标注区域。可以轻松地看到不同区域的国家是如何分组的。

    看到添加颜色后提供了大量额外的信息。我们知道,GDP 越高,预期寿命就越长。但是,通过将各个国家所属的区域用颜色标注,我们可以从此图中看到不同类型的国家在全球的分布情况。GDP 很低的国家几乎都在撒哈拉以南非洲,很高的国家则是欧洲和北美。中间的橘色部分是独立国家联合体,即前苏联国家(如果你觉得该缩写一开始没明白的话,我也没明白)。

    颜色是可视化过程中的重要工具,我们必须正确使用颜色,才能产生最大的影响。

    调色板

    调色板是指用来表示数据值的颜色范围。对于定量和定性数据,你需要使用不同的调色板。选择正确的调色板非常重要。例如,我们来看一个使用非常广泛但是很糟糕的调色板。(在这里朝着 Jake VanderPlas 吼叫吧)。

    在过去一段时间内,可视化工具(例如 MATLAB 和 Python 的 matplotlib 库)使用的默认调色板是 jet。(幸运的是,二者都更新为了新的调色板)。你可能还会听到彩虹调色板这一说法。jet 调色板的颜色从深蓝到深红,然后一直变成绿色和黄色。我在下方提供了该调色板的彩色版本和灰度模式,以显示色谱和亮度。

    jet/彩虹调色板存在缺点,因为亮度并没有从一端平滑地过渡到另一端。黄色比其余颜色要亮很多,使某些数据显的格外重要,实际上并非如此。与大片的绿色相比,黄色和蓝绿色异常突出。从图中可以看到 jet 调色板的亮度,并不是平滑的渐变

    Jet!

    可以看出,从感官上来说,很短的蓝绿色和黄色区域比其他区域要色彩强烈很多。这些区域的数据将被过于强调。通过查看灰度版本,很明显蓝绿色和黄色区域比较突出是因为它们的亮度比其他部分要高。出现这种情况是因为我们的大脑对颜色的感知有所不同。与红色相比,我们的眼睛对绿色更敏感,对红色的敏感性又要比蓝色高。所以在计算机屏幕上,255 的红色比 255 的蓝色看起来要亮。

    可以从下面的示例中看到 jet 扭曲了我们对重要性的感知。

    黄色和蓝绿色区域的亮度达到峰值。

    黄色和蓝绿色区域比红色和蓝色区域要亮很多,并引人注目,但红色和蓝色区域实际上才是需要关注的(极端)部分。我们的大脑认为亮度越高的区域越重要。可以从灰度版本中看出,在黄色和蓝绿色边缘部分,亮度出现峰值。

    相反,我们应该使用符合以下特征的调色板:亮度呈线性变化,并存在极端值,同时在颜色之间平滑过渡。下面我将使用一个从红色变成浅黄色然后变成绿色的发散性调色板。

    发散性调色板从红色变成黄色再变成绿色

    这个调色板的正面区域和负面区域之间存在平滑过渡。

    对于这个调色板,色带之间的过渡很平滑,红色和绿色区域的亮度相等。通常,jet 调色板是个不太好的选择。我们应该选择线性调色板,如上所示。当前的大部分可视化软件都使我们能够选择调色板,所以在用颜色设计可视化图表时,记住这一点。

    连续性调色板

    线性亮度调色板存在两种基本类型:连续性调色板和发散性调色板(我在上面使用了,并且稍后将再次提到)。连续性调色板的浅色到深色或深色到浅色之间的过渡很平滑。这种调色板适合连续性数据,所有颜色都是正面的,所以低值用浅色表示,高值用深色表示(或者相反的模式)。下面是一个从浅红色到深红色的连续性调色板示例。

    从浅红色到深红色的连续性调色板

    你还可以使用色调和亮度都会变化的调色板:

    色调也变化的连续性调色板

    下图是几个高斯模型调色板。

    两个高斯块的连续性调色板。

    发散性调色板

    如果数据存在某些断点,例如值从负数变成正数,经常适合使用发散性调色板。发散性调色板从一个颜色过渡到另一个颜色,经过一个浅色(或深色),亮度呈线性变化。你已经见过一个发散性调色板,即从红色变成绿色的调色板。下面是更多的示例:

    几个发散性调色板示例

    下图是对与之前相同的高斯模型应用颜色后的效果,但是一个是负数。我还提供了 jet 调色板,使你能够看到蓝绿色和黄色如何在水泡周围形成圆环,而在另一个调色板中,这些颜色之间的过渡很平滑。

    应用到高斯块上的发散性调色板。注意 jet 调色板导致的缺陷。

    定性数据的调色板

    对于定性数据,经常需要对比不同组或类别的数据。为此,你需要选择肉眼看去尽量不同的颜色。I want hue是一款很棒的工具,可以最佳方式构建独特的调色板。我在下图中创建了一个散点图,表示鸢尾花样本的花瓣长度和宽度。通过用不同的颜色标注各个物种,可以清晰地看出数据分成三个不同的群体。

    收集的鸢尾花数据,根据物种标注颜色。

    为色盲人士设计颜色

    人类通过视网膜内的细胞(叫做视锥细胞)产生的信号来识别颜色。光线进入眼睛,到达视锥细胞,视锥细胞向大脑发送电子信号。通常有三类视锥细胞:S(短波)、M(中波)和 L(长波)。它们对不同波长的光敏感。短波视锥细胞对蓝色敏感,中波对绿色敏感,长波对红色敏感。

    但是,大约有 10% 的男性和 1% 的女性存在基因突变,影响到这些视锥细胞,产生色盲。最常见的色盲形式是红绿色盲,通常是因为中波视锥细胞对光敏感性转移到了红色光线上,这种突变称为绿色弱视。绿色弱视人群无法区分红色和绿色,如下图的红色和绿色苹果所示:

    如果你是绿色弱视,那么你看到的这两个苹果就是底下的两种色彩。

    实际上有很大一部分人群是色盲,所以在设计可视化图表时要考虑到这类人。避免使用红绿调色板,改为使用蓝橙调色板。

  • 相关阅读:
    ABAP 程序中的类 沧海
    ABAP类的方法(转载) 沧海
    More than 100 ABAP Interview Faq's(2) 沧海
    SAP and ABAP Memory总结 沧海
    ABAP Frequently Asked Question 沧海
    ABAP System Reports(Additional functions) 沧海
    ABAP Questions Commonly Asked 1 沧海
    ABAP Tips and Tricks 沧海
    ABAP System Fields 沧海
    ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 沧海
  • 原文地址:https://www.cnblogs.com/chickenwrap/p/10182809.html
Copyright © 2011-2022 走看看