优雅配色:使用Matplotlib为论文图像选择合适的配色方案

文章目录

  • 1 官方色组
  • 1.1 推荐色组
  • 1.2 查看色组
  • 1.3 使用色组
  • 2 自定义色组
  • 3 总结
  • 4 其他有用资料

  • 还在为配图的颜色而烦恼嘛,还在为matplotlib的经典颜色而困惑嘛,看完下面的文章,教你如何选择图片颜色

    上图左边是matplotlib默认的颜色系统,而右边就是使用matplotlib自带的颜色系统实现的。如何实现,请继续往下浏览


    1 官方色组

    1.1 推荐色组

    由于官方的色组比较多,我选了几款效果比较好的几个色组,见下图。

    图1 我的推荐色组

    图1左边的是色组的名字,在使用时会用到。官方所有色组后在文章末尾出现。

    1.2 查看色组

    import matplotlib.pyplot as plt
    color_name = 'Set3' #官方色组名称
    
    # 法一:在jupyter`在这里插入代码片` notebook中可以这样查看
    plt.get_cmap(color_name)
    # 法二:使用fig查看
    fig,ax = plt.subplots(figsize=(10,0.5))
    fig.colorbar(mpl.cm.ScalarMappable(cmap=color_name),cax=ax, orientation='horizontal')
    plt.show()
    

    色组结果

    图2 查看色组结果

    1.3 使用色组

    下面为我使用官方色组画扇形图的demo

    import matplotlib.pyplot as plt
    import numpy as np
    labels = ['Frogs','Hogs','Dogs','Logs']
    sizes = [15, 30, 45, 10]
    
    color_name = 'rainbow'
    # 手动选择
    select1 = (0,45,103,253) #连续性色组图可以从0-256之间选择,e.g‘rainbow’
    select2 = (0.1,0.5,0.3,0.8) # 连续性色组图也可以从0-1之间选择
    select3 = (1,4,8,3) # 非连续型色组在0-(色组长度-1)之间选择,e.g‘Set3’在0-11之间选择
    # 自动选择
    select4 = np.random.uniform(0,1,len(sizes)) # 使用uniform可以随机选择颜色
    select5 = np.random.uniform(0,1,len(sizes))
    select5.sort()
    select6 = np.linspace(0,1,len(sizes))
    
    colors = plt.get_cmap(color_name)(select2) # 从色组里选择颜色,我选择的是select2
    
    fig,ax = plt.subplots()
    ax.pie(sizes, labels=labels, autopct='%1.1f%%', shadow=True, colors=colors)
    ax.axis('equal')
    plt.show()
    

    请添加图片描述

    图3 画图结果


    2 自定义色组

    除了使用官方给定的色组,还可以自己定义色组

    from matplotlib.colors import ListedColormap
    import matplotlib.pyplot as plt
    colors = ['#3682be','#45a776','#f05326','#eed777','#334f65','#b3974e','#38cb7d','#ddae33','#844bb3','#93c555','#5f6694','#df3881']
    
    cmap = ListedColormap(colors, name = 'mycmap')
    fig,ax = plt.subplots(figsize=(10,0.5))
    fig.colorbar(mpl.cm.ScalarMappable(cmap=cmap),cax=ax, orientation='horizontal')
    plt.show()
    

    请添加图片描述

    图4 画图结果

    这里会使用到一个叫做ListedColormap的函数


    3 总结

    总的来说使用不同的颜色,在图形样式不变的情况下,给人一焕然一新的感觉。而不是使用matplotlib的经典配色,他人一看就看出是用matplotlib所画。


    4 其他有用资料

    matplotlib颜色官方

    论文配色方案(自用)

    整理了几套好看的配色方案

    JUST ENTER A COLOR!

    BrandColors

    FLAT UI COLORS2

    Matplotlib颜色设置
    请添加图片描述

    物联沃分享整理
    物联沃-IOTWORD物联网 » 优雅配色:使用Matplotlib为论文图像选择合适的配色方案

    发表评论