美文网首页生物信息学生物信息学与算法生物信息学习
matplotlib绘图基础(4)—— 颜色控制

matplotlib绘图基础(4)—— 颜色控制

作者: WooWoods | 来源:发表于2019-12-10 10:18 被阅读0次

    赶项目停了好久啊,这个事情还是要坚持下去的。

    matplotlib可以用以下几种方式指定颜色:

    • RGB或RGBA(red, green, blue, alpha,alpha代表透明度)的元组,其中的元素是[0,1]区间内的数值,例如(0.1, 0.2, 0.5) or (0.1, 0.2, 0.5, 0.3);
    • 16进制的RGB或RGBA字符串,例如 '#0f0f0f' or '#0f0f0f80',不区分大小写;
    • 字符型的[0,1]区间内的数值,例如,'0.5';
    • 颜色的首字母简写形式,从{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}中取值;
    • X11/CSS4 的颜色名称,不区分大小写;
    • xkcd color survey中的颜色名称, 需要加上前缀'xkcd:',例如'xkcd:sky blue'
    • 默认的 'T10' 调色板中的一种颜色:{'tab:blue', 'tab:orange', 'tab:green', 'tab:red','tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'},不区分大小写;
    • 'CN'方式指定,其中的 'N' 表示数字,代表默认的属性循环的index(matplotlib.rcParams['axes.prop_cycle']);

    更多matplotlib颜色的信息:

    颜色当中 "alpha" 的表现取决于图形的zorder值,同一个坐标系中的图形是分层渲染的,高 zorder 值的图形被置于低 zorder 值的图形之上,"alpha" 值就决定了下层的图形是否会被上层图形覆盖。假设某个像素点原先的 RGB 为 RGBold ,加在其上的Alpha值为 alpha 的新图形的 RGB 为 RGBnew ,那么这个像素点当前的 RGB 则更新为:RGB = RGBOld * (1 - Alpha) + RGBnew * Alpha。Alpha 为1表示原来的颜色被完全覆盖,alpha 为0则表示新图形的像素是透明的。

    下面来看例子:

    import matplotlib.pyplot as plt
    import numpy as np
    
    t = np.linspace(0.0, 2.0, 201)
    s = np.sin(2 * np.pi * t)
    
    # 1) RGB tuple:
    fig, ax = plt.subplots(facecolor=(.18, .31, .31))
    # 2) hex string:
    ax.set_facecolor('#eafff5')
    # 3) gray level string:
    ax.set_title('Voltage vs. time chart', color='0.7')
    # 4) single letter color string
    ax.set_xlabel('time (s)', color='c')
    # 5) a named color:
    ax.set_ylabel('voltage (mV)', color='peachpuff')
    # 6) a named xkcd color:
    ax.plot(t, s, 'xkcd:crimson')
    # 7) Cn notation:
    ax.plot(t, .7*s, color='C4', linestyle='--')
    # 8) tab notation:
    ax.tick_params(labelcolor='tab:orange')
    
    
    plt.show()
    

    相关文章

      网友评论

        本文标题:matplotlib绘图基础(4)—— 颜色控制

        本文链接:https://www.haomeiwen.com/subject/pxvtpctx.html