• matplotlib可视化系列之【颜色】


    颜色和排版一样,看似简单,其实非常复杂,往大了说,涉及到艺术和品味,不像数学公式,物理定理那样,是非分明。

    但是,对 matplotlib 中的颜色有些基本的了解,可以让绘出的图形颜色不至于太突兀。
    虽不能说选出完美的颜色搭配,至少是看着舒服,醒目的颜色搭配。

    颜色的种类

    颜色一般用 RGB 来表示,颜色空间主要有3种:

    1. RGB
    2. sRGB
    3. Lab

    3种颜色空间都可以用 6位的16进制表示,只是显示出来的有些微的差别,在绘图时,一定要确定好自己用的是哪个颜色空间。
    image.png

    matplotlib 有默认的10个颜色和20个颜色,绘图时如果不指定颜色,那么就会用默认用这些颜色。
    下面的代码可以打印出默认颜色:

    import matplotlib.pyplot as plt
    import matplotlib.colors as colors
    
    cmap10 = plt.get_cmap("tab10")
    cmap20 = plt.get_cmap("tab20")
    
    [colors.to_hex(cmap10(i)) for i in range(10)]
    [colors.to_hex(cmap20(i)) for i in range(20)]
    
    

    颜色的运用

    一般来说,颜色的运用根据数据的情况来定。

    序列性质的数据

    比如按照年份变化的数据,在折线图中使用单一显眼的颜色即可。
    像红色,蓝色等这种和背景区分比较明显的颜色都行。

    多个折线一起展示的时候,选择区分较大的颜色。

    分组比较的数据

    对于这种数据,不同组之间的数据用区分较大的颜色。同组内的数组可以用相同色系的渐变色来显示。
    image.png

    结合地理信息相关的数据

    类似的这类数据一般是定性展示,不像上面2种数据需要在Y轴严格定量。

    比如结合地理信息展示降水的情况,通过颜色的深浅来表示降水的是多少,从图上可以一目了然哪里的降水量比较大。
    image.png

    总结

    总之,颜色的选择就像排版一样,没有一定的法则,平时积累,多留心观察别人绘制的图形很重要。

    看到比较清晰的图,好的展示方式,记录下来,尝试应用应用,培养出绘图的感觉,慢慢就可以绘制出有自己特色的图。

  • 相关阅读:
    Java for循环打印九九乘法表
    java判断回文数代码实例
    java 判断回文数实例代码
    价值
    Java代码实例 判断这个数是否是素数
    Java for循环求水花仙数
    java代码实例 使用switch实现简易的计算器(实现加减乘除)
    java基础代码实例 求1100之间的奇数和偶数
    Java 判断闰年代码实例
    可以将控制台输出信息保存到本地的Log4j配置
  • 原文地址:https://www.cnblogs.com/wang_yb/p/16382833.html
Copyright © 2020-2023  润新知