• seaborn---样式控制/调色板


    一、样式控制

    1.set([context,style,palette,font,...])

    一步设定美学参数。

    2.axes_style([style,rc])

    返回参数字典,用于绘图的美学风格。

    3.set_style([style,rc])

    设定地块的审美风格。

    4.plotting_context([context,font_scale,rc])

    返回参数dict以缩放图形的元素。

    5.set_context([context,font_scale,rc])

    设置绘图上下文参数。

    6.set_color_codes([调色板])

    更改matplotlib颜色缩写词的解释方式。

    7.reset_defaults()

    将所有RC参数恢复为默认设置。

    8.reset_orig()

    将所有RC参数恢复为原始设置(尊重自定义rc)。

    二、调色板

    调色板分为三类:

    • Sequential:按顺序渐变的。 - Light colours for low data, dark for high data
    • Diverging:彼此之间差异变化较大的。 - Light colours for mid-range data, low and high contrasting dark colours
    • Qualitative:这个用于最大程度地显示不同类之间的差别。 - Colours designed to give maximum visual difference between classes

    1.color_palette()

    seaborn.color_palette(palette=None, n_colors = None, desat = None)
    • paletteNone,string或sequence,可选,默认有6种主题:deep,muted, pastel, bright, dark, colorblind
    • n_colors:颜色个数
    • desat:每种颜色去饱和的比例

    返回:

    • palette:RGB元组列表

     举例:

    import seaborn as sns
     
    sns.palplot(sns.color_palette())
    sns.palplot(sns.color_palette('deep',8))
    sns.palplot(sns.color_palette('muted',8))
    sns.palplot(sns.color_palette('pastel',8))
    sns.palplot(sns.color_palette('bright',8))
    sns.palplot(sns.color_palette('dark',8))
    sns.palplot(sns.color_palette('colorblind',8))

    其他颜色风格:Accent,Blues,BrBG

    import seaborn as sns
    
    #风格内容:Accent,Blues,BrBG等等
    #风格颜色转换(不是所有颜色都可以反转):Blues/Blues_r
    #分组颜色设置 -'Paried'
    sns.palplot(sns.color_palette('Paired',8))
    sns.palplot(sns.color_palette('Accent',8))
    sns.palplot(sns.color_palette('Blues',8))
    sns.palplot(sns.color_palette('Blues_r',8))
    sns.palplot(sns.color_palette('BrBG',8))
    

    2. set_palette():

    3.husl_palette():设置亮度,饱和度

    seaborn.husl_palette(n_colors=6, h=0.01, s=0.9, l=0.65)
    • n_colors:颜色个数
    • h:第一个色调
    • s:饱和度
    • l:亮度

    可用方法:

    husl_palette([n_colors, h, s, l])
    hsl_palette([n_colors, h, l, s])  

    举例:

    sns.palplot(sns.hls_palette(8 , l = .8, s = .5))
    

    4.cubehelix_palette():按照线性增长计算,设置颜色

    seaborn.cubehelix_palette(n_colors=6, start=0, rot=0.4, gamma=1.0, hue=0.8, light=0.85, dark=0.15, reverse=False, as_cmap=False)
    • n_colors:颜色个数
    • start :值区间在0-3,开始颜色
    • rot:颜色旋转角度
    • gamma:颜色伽马值,越大颜色越暗
    • dark,light:值区间0-1,颜色越深
    • reverse:布尔值,默认为False,由浅到深
    sns.palplot(sns.cubehelix_palette(8, gamma = 2))
    sns.palplot(sns.cubehelix_palette(8, start = .5, rot = -.75))
    sns.palplot(sns.cubehelix_palette(8, start = 2, rot = 0, dark = 0, light = .95, reverse = True))
    

    5.dark_palette()、light_palette():深色/浅色调色板

    seaborn.dark_palette(color,n_colors = 6,reverse = False,as_cmap = False,input ='rgb' )

    参数:

    • color:高值的颜色
    • n_colors:颜色个数
    • reverse:默认为False
    • as_cmap:如果为True,则返回matplotlib colormap;为False,则返回list
    • input:{'rgb','hls','husl','xkcd'}

    返回:palette或cmap:seaborn调色板或matplotlib colormap,类似列表的颜色对象作为RGB元组,或者可以将连续值映射到颜色的颜色图对象,具体取决于as_cmap参数的值 

    dark_palette(color[, n_colors, reverse, ...]) #制作一个从黑暗到混合的顺序调色板
    light_palette(color[, n_colors, reverse, ...])

    举例:

    sns.palplot(sns.light_palette('green')) #按照green做浅色调色盘
    sns.palplot(sns.color_palette('Greens')) #cmap为Greens风格
     
    sns.palplot(sns.dark_palette('red', reverse = False)) #按照blue做深色调色盘
    #reverse ---> 转置颜色
    
    sns.palplot(sns.light_palette('red',reverse=False))

    6.diverging_palette创建分散颜色

    seaborn.diverging_palette(h_neg,h_pos, s=75, l=50, sep=10, n=6, center='light', as_cmap=False)
    

    参数:

    • h_neg,h_pos:[0,359]
      定位在负数与正数色调范围
    • s:[0,100],可选
      定位饱和度
    • l:[0,100],可选
      定位亮度
    • n:int,可选
      如果不返回cmap,将返回颜色数字
    • center:{“light”,“dark”},可选
      调色板中心是亮还是暗
    • as_cmap:布尔,可选
      如果为真,返回matplotlib colormap 对象;否则返回一个颜色列表

    返回:

    • palette or cmap:seaborn color palette 或者matplotlib colormap
      颜色的类表对象(RGB元组),或者colormap能够映射连续的值到颜色,决定于 as_cmap 参数

    举例:

    sns.palplot(sns.diverging_palette(200, 20, l=40, n=4))
    

     用分散颜色制作热力图

    plt.figure(figsize = (8,6))
    x = np.arange(25).reshape(5,5)
    cmap = sns.diverging_palette(200,20,sep=20,as_cmap=True)
    sns.heatmap(x, cmap=cmap)#热力图
    

    效果如下:

    7.blend_palette()

    8.xkcd_palette():命名颜色

    xkcd包含了一套众包努力的针对随机RGB色的命名。产生了954个可以随时通过xdcd_rgb字典中调用的命名颜色

    colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"]
    sns.palplot(sns.xkcd_palette(colors))
    

    plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=1)
    plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3)
    plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3)
    

    9.crayon_palette()

    10.mpl_palette()

    三、调色板小部件

    1.choose_colorbrewer_palette(data_type [,as_cmap])

    从ColorBrewer集中选择一个调色板

    2.choose_cubehelix_palette([as_cmap])

    启动交互式小部件以创建顺序cubehelix调色板

    3.choose_light_palette([input,as_cmap])

    启动交互式小部件以创建轻型顺序调色板

    4.choose_dark_palette([input,as_cmap])

    启动交互式小部件以创建暗序连接调色板

    5.choose_diverging_palette([as_cmap])

    启动交互式小部件以选择不同的调色板

    四、实用功能

    1.load_dataset(name [,cache,data_home])

    从在线存储库加载数据集(需要互联网)

    2.despine([fig,ax,top,right,left,bottom,...])

    从图中移除顶部和右侧脊柱。

    3.desaturate(颜色,道具)

    将颜色的饱和度通道减少百分之几

    4.saturate(颜色)

    返回具有相同色调的完全饱和的颜色

    5.set_hls_values(颜色[,h,l,s])

     独立操作颜色的h,l或s通道

    参考文献:

    【1】seaborn.diverging_palette

    【2】【干货】 知否?知否?一文彻底掌握Seaborn

  • 相关阅读:
    bug案例 php 生成csv文件 下载打开文件 提示 文件格式与文件扩展名指定的格式不一致 提示 是SYLK 文件解决方法
    php 三元运算 ?: 和 ?? 认识
    mysql 索引知识
    算法 之 红黑平衡二叉树
    算法 计算机中树的分类 概念树
    mysql B+树
    算法 之 二叉树的前序 中序 后序遍历
    mysql B树分析
    mysql 坑位之 GROUP_CONCAT 函数使用
    HTTP请求:GET与POST方法的区别
  • 原文地址:https://www.cnblogs.com/nxf-rabbit75/p/10974448.html
Copyright © 2020-2023  润新知