• Matplotlib作图中常用marker类型、线型和颜色


    Python作图中常常会考虑用什么颜色、marker、线型,进行总结一下。

    一、常用marker表示

    1、普通marker

    这类普通marker直接类似marker ='^'就可以用了。

    image.png

    2、高级marker

    这类高级marker使用marker ='$\circledR$'来调用

    可以显示的形状    marker名称
    ϖ   \varpi
    ϱ   \varrho
    ς   \varsigma
    ϑ   \vartheta
    ξ   \xi
    ζ   \zeta
    Δ   \Delta
    Γ   \Gamma
    Λ   \Lambda
    Ω   \Omega
    Φ   \Phi
    Π   \Pi
    Ψ   \Psi
    Σ   \Sigma
    Θ   \Theta
    Υ   \Upsilon
    Ξ   \Xi
    ℧   \mho
    ∇   \nabla
    ℵ   \aleph
    ℶ   \beth
    ℸ   \daleth
    ℷ   \gimel
    /   /
    [   [
    ⇓   \Downarrow
    ⇑   \Uparrow
    ‖   \Vert
    ↓   \downarrow
    ⟨   \langle
    ⌈   \lceil
    ⌊   \lfloor
    ⌞   \llcorner
    ⌟   \lrcorner
    ⟩   \rangle
    ⌉   \rceil
    ⌋   \rfloor
    ⌜   \ulcorner
    ↑   \uparrow
    ⌝   \urcorner
    \vert
    {   \{
    \|
    }   \}
    ]   ]
    |
    ⋂   \bigcap
    ⋃   \bigcup
    ⨀   \bigodot
    ⨁   \bigoplus
    ⨂   \bigotimes
    ⨄   \biguplus
    ⋁   \bigvee
    ⋀   \bigwedge
    ∐   \coprod
    ∫   \int
    ∮   \oint
    ∏   \prod
    ∑   \sum
    

    3、自定义marker

    import matplotlib.pyplot as plt
    
    plt.rcParams['font.sans-serif']=['SimHei']  # 用于显示中文
    plt.rcParams['axes.unicode_minus'] = False  # 用于显示中文
    plt.figure(dpi=200)
    #常规marker使用
    plt.plot([1,2,3],[1,2,3],marker=4, markersize=15, color='lightblue',label='常规marker')
    plt.plot([1.8,2.8,3.8],[1,2,3],marker='2', markersize=15, color='#ec2d7a',label='常规marker')
    
    #非常规marker使用
    #注意使用两个$符号包围名称
    plt.plot([1,2,3],[4,5,6],marker='$\circledR$', markersize=15, color='r', alpha = 0.5 ,label='非常规marker')
    plt.plot([1.5,2.5,3.5],[1.25,2.1,6.5],marker='$\heartsuit$', markersize=15, color='#f19790', alpha=0.5,label='非常规marker')
    plt.plot([1,2,3],[2.5,6.2,8],marker='$\clubsuit$', markersize=15, color='g', alpha=0.5,label='非常规marker')
    
    #自定义marker
    plt.plot([1.2,2.2,3.2],[1,2,3],marker='$666$', markersize=15, color='#2d0c13',label='自定义marker')
    plt.legend(loc='upper left')
    for i in ['top','right']:
        plt.gca().spines[i].set_visible(False)
    

    作图结果为:

    image.png

    二、常用线型

    1、字符型linestyle

    共有四种:

    linestyle_str = [
    ('solid', 'solid'), # Same as (0, ()) or '-';solid’, (0, ()) , '-'三种都代表实线。
    ('dotted', 'dotted'), # Same as (0, (1, 1)) or '.'
    ('dashed', 'dashed'), # Same as '--'
    ('dashdot', 'dashdot')] # Same as '-.'
    

    2、元组型linestyle

    可以通过修改元组中的数字来呈现出不同的线型,因此可以构造出无数种线型。

    linestyle_tuple = [
    ('loosely dotted', (0, (1, 10))),
    ('dotted', (0, (1, 1))),
    ('densely dotted', (0, (1, 2))), ('loosely dashed', (0, (5, 10))),
    ('dashed', (0, (5, 5))),
    ('densely dashed', (0, (5, 1))), ('loosely dashdotted', (0, (3, 10, 1, 10))),
    ('dashdotted', (0, (3, 5, 1, 5))),
    ('densely dashdotted', (0, (3, 1, 1, 1))), ('dashdotdotted', (0, (3, 5, 1, 5, 1, 5))),
    ('loosely dashdotdotted', (0, (3, 10, 1, 10, 1, 10))),
    ('densely dashdotdotted', (0, (3, 1, 1, 1, 1, 1)))]
    

    线型使用代码:

    import matplotlib.pyplot as plt
    
    plt.figure(dpi=120)
    #字符型linestyle使用方法
    plt.plot([1,2,3],[1,2,13],linestyle='dotted', color='#1661ab', linewidth=5, label='字符型线型:dotted')
    
    #元组型lintstyle使用方法 
    plt.plot([0.8,0.9,1.5],[0.8,0.9,21.5],linestyle=(0,(3, 1, 1, 1, 1, 1)), color='#ec2d7a', linewidth=5, label='元组型线型:(0,(3, 1, 1, 1, 1, 1)')
    
    for i in ['top','right']:
        plt.gca().spines[i].set_visible(False)
        
    #自定义inestyle  
    plt.plot([1.5,2.5,3.5],[1,2,13],linestyle=(0,(1,2,3,4,2,2)), color='black', linewidth=5, label='自定义线型:(0,(1,2,3,4,2,2)))')
    plt.plot([2.5,3.5,4.5],[1,2,13],linestyle=(2,(1,2,3,4,2,2)), color='g', linewidth=5, label='自定义线型:(1,(1,2,3,4,2,2)))')
    plt.legend()
    

    作图结果为:

    image.png

    3.元组型详解

    上图中线型(0,(1,2,3,4,2,2))每个数字是什么意思?理解每个数字的意思就可以自定义线型了。

    image.png

    第一个0的意义,比较黑色和绿色线型即可知道

    1,2 第一小段线宽1磅,第一和第二段之间距离2磅

    3,4 第二小段线宽3磅,第二和第三段之间距离4磅

    2,2 第三小段线宽2磅,第三和第四段之间距离2磅

    三、常用颜色

    img

    img

    img

    img

    装了seaborn扩展的话,在字典seaborn.xkcd_rgb中包含所有的xkcd crowdsourced color names

    img

  • 相关阅读:
    Unity3D ShaderLab 立方体图的反射遮罩
    Unity3D ShaderLab 简单的立方体图反射
    Unity3D ShaderLab 各向异性高光
    Unity3D ShaderLab 使用贴图对模型的高光进行遮罩
    Unity3D ShaderLab 使用BlinnPhong高光类型
    Unity3D ShaderLab 创建自定义高光类型
    Unity3D ShaderLab 基础的高光实现
    Unity3D ShaderLab法线贴图
    Unity3D ShaderLab压缩混合纹理贴图
    Java几种建立实例的方法
  • 原文地址:https://www.cnblogs.com/wangzheming35/p/15844203.html
Copyright © 2020-2023  润新知