小工具知识网

当前位置: 首页 > 行业知识 > Python 绘图颜色、技巧汇总

行业知识

Python 绘图颜色、技巧汇总

2026-11-09 09:32:52 来源:互联网转载

往期精彩内容:

深度学习论文模型图的绘制与分享

Python绘制高级图-代码分享

Python绘制多分类ROC曲线

引言

在论文绘图中,最重要的是准确传达数据和信息。无论是实验结果图、统计图表还是概念图示,图像应当清晰明了地展示研究结果和观点。无论用什么软件,以下几个原则十分重要:

  • 数据准确性:确保图表中的数据准确无误,不要出现错误的标注或显示。

  • 清晰度和分辨率:图像的分辨率需要足够高,以便在打印或放大时仍然保持清晰度。确保图像的分辨率符合期刊的要求。

  • 图像格式:选择适合的图像格式,确保图像在不同环境下都能够清晰显示。

  • 配色和样式:选择合适的配色方案,确保图像的颜色搭配清晰明了,同时符合期刊的要求。

  • 图像说明和标注:图像应当配有清晰的说明和标注,以便读者理解图像所传达的信息。

    其中操作空间最高的当属配色和样式了。

    1 Python复现SCI论文插图经典配色

    下面参考顶刊SCI论文插图经典配色,利用python进行复现。

    SCI论文插图经典配色来源:知乎up主-阿昆的科研日常

    1.1计算Matplotlib中的RGB格式数值

    上述配色都是软件Matlab的RGB格式,其取值范围在0-255 ,而Python中的Matplotlib库中支持使用RGB格式取值范围通常在0到1之间,所以需要将每个颜色通道的取值除以 255,以得到在 0 到 1 之间的标准化取值,按照以下方式转换:

    R_normalized = R / 255 

    G_normalized = G / 255 

    B_normalized = B / 255

    比如复现经典配色实例No.017        

    clolor_zise = (0.267, 0.16, 0.353)clolor_zanglan = (0.255, 0.243, 0.522)clolor_shenlan = (0.188, 0.408, 0.553)clolor_lanlv = (0.122, 0.573, 0.545)clolor_lvse = (0.208, 0.718, 0.467)clolor_lvhuang = (0.569, 0.835, 0.259)clolor_huangse = (0.973, 0.902, 0.125)

    2.2数据准备

    绘制某模型在0db、50db、40db、30db、20db噪声下的训练、验证、测试准确率的柱状图

    # 数据labels = ['0DB', '50DB', '40DB', '30DB', '20DB']train_accuracy = [99.93, 99.86, 99.85, 99.82, 99.70]validation_accuracy = [99.27, 98.54, 98.52, 98.08, 94.47]test_accuracy = [99.48, 98.70, 97.61, 97.44, 95.01]

    2.3绘图

    # 绘制柱状图plt.figure(figsize=(8,4), dpi=300)# 柱子宽度比例width = 0.15plt.bar(x, train_accuracy, width, label='Train Accuracy', color=clolor_huangse)plt.bar([i + width for i in x], validation_accuracy, width, label='Validation Accuracy', color=clolor_lanlv)plt.bar([i + 2 * width for i in x], test_accuracy, width, label='Test Accuracy', color=clolor_zise)# 设置 X 轴标签plt.xlabel('Noise level')# 设置 Y 轴标签plt.ylabel('Accuracy (%)')# 设置 X 轴刻度plt.xticks([i + width for i in x], labels)# 隐藏上方和右侧的轴线plt.gca().spines['top'].set_visible(False)plt.gca().spines['right'].set_visible(False)# 显示X轴和Y轴plt.gca().get_xaxis().tick_bottom()plt.gca().get_yaxis().tick_left()# 添加数值标签rotation_angle = 'vertical'  # 设置文本旋转角度为垂直for i in x:    plt.text(i, train_accuracy[i] + 2, str(train_accuracy[i]), ha='center', va='bottom', fontsize=8, rotation=rotation_angle)    plt.text(i + width, validation_accuracy[i] + 2, str(validation_accuracy[i]), ha='center', va='bottom', fontsize=8, rotation=rotation_angle)    plt.text(i + 2 * width, test_accuracy[i] + 2, str(test_accuracy[i]), ha='center', va='bottom', fontsize=8, rotation=rotation_angle)# 显示图例,设置列数为3plt.legend(loc='upper center', bbox_to_anchor=(0.5, 1.2), frameon=False, ncol=3)# 显示图形plt.show()

    2 Python作图颜色汇总

    2.1Matplotlib颜色对照表

    颜色对照表来源:matplotlib颜色表 - FINTHON

    2.2 Matplotlib16进制描述颜色

    cnames = {'aliceblue':            '#F0F8FF','antiquewhite':         '#FAEBD7','aqua':                 '#00FFFF','aquamarine':           '#7FFFD4','azure':                '#F0FFFF','beige':                '#F5F5DC','bisque':               '#FFE4C4','black':                '#000000','blanchedalmond':       '#FFEBCD','blue':                 '#0000FF','blueviolet':           '#8A2BE2','brown':                '#A52A2A','burlywood':            '#DEB887','cadetblue':            '#5F9EA0','chartreuse':           '#7FFF00','chocolate':            '#D2691E','coral':                '#FF7F50','cornflowerblue':       '#6495ED','cornsilk':             '#FFF8DC','crimson':              '#DC143C','cyan':                 '#00FFFF','darkblue':             '#00008B','darkcyan':             '#008B8B','darkgoldenrod':        '#B8860B','darkgray':             '#A9A9A9','darkgreen':            '#006400','darkkhaki':            '#BDB76B','darkmagenta':          '#8B008B','darkolivegreen':       '#556B2F','darkorange':           '#FF8C00','darkorchid':           '#9932CC','darkred':              '#8B0000','darksalmon':           '#E9967A','darkseagreen':         '#8FBC8F','darkslateblue':        '#483D8B','darkslategray':        '#2F4F4F','darkturquoise':        '#00CED1','darkviolet':           '#9400D3','deeppink':             '#FF1493','deepskyblue':          '#00BFFF','dimgray':              '#696969','dodgerblue':           '#1E90FF','firebrick':            '#B22222','floralwhite':          '#FFFAF0','forestgreen':          '#228B22','fuchsia':              '#FF00FF','gainsboro':            '#DCDCDC','ghostwhite':           '#F8F8FF','gold':                 '#FFD700','goldenrod':            '#DAA520','gray':                 '#808080','green':                '#008000','greenyellow':          '#ADFF2F','honeydew':             '#F0FFF0','hotpink':              '#FF69B4','indianred':            '#CD5C5C','indigo':               '#4B0082','ivory':                '#FFFFF0','khaki':                '#F0E68C','lavender':             '#E6E6FA','lavenderblush':        '#FFF0F5','lawngreen':            '#7CFC00','lemonchiffon':         '#FFFACD','lightblue':            '#ADD8E6','lightcoral':           '#F08080','lightcyan':            '#E0FFFF','lightgoldenrodyellow': '#FAFAD2','lightgreen':           '#90EE90','lightgray':            '#D3D3D3','lightpink':            '#FFB6C1','lightsalmon':          '#FFA07A','lightseagreen':        '#20B2AA','lightskyblue':         '#87CEFA','lightslategray':       '#778899','lightsteelblue':       '#B0C4DE','lightyellow':          '#FFFFE0','lime':                 '#00FF00','limegreen':            '#32CD32','linen':                '#FAF0E6','magenta':              '#FF00FF','maroon':               '#800000','mediumaquamarine':     '#66CDAA','mediumblue':           '#0000CD','mediumorchid':         '#BA55D3','mediumpurple':         '#9370DB','mediumseagreen':       '#3CB371','mediumslateblue':      '#7B68EE','mediumspringgreen':    '#00FA9A','mediumturquoise':      '#48D1CC','mediumvioletred':      '#C71585','midnightblue':         '#191970','mintcream':            '#F5FFFA','mistyrose':            '#FFE4E1','moccasin':             '#FFE4B5','navajowhite':          '#FFDEAD','navy':                 '#000080','oldlace':              '#FDF5E6','olive':                '#808000','olivedrab':            '#6B8E23','orange':               '#FFA500','orangered':            '#FF4500','orchid':               '#DA70D6','palegoldenrod':        '#EEE8AA','palegreen':            '#98FB98','paleturquoise':        '#AFEEEE','palevioletred':        '#DB7093','papayawhip':           '#FFEFD5','peachpuff':            '#FFDAB9','peru':                 '#CD853F','pink':                 '#FFC0CB','plum':                 '#DDA0DD','powderblue':           '#B0E0E6','purple':               '#800080','red':                  '#FF0000','rosybrown':            '#BC8F8F','royalblue':            '#4169E1','saddlebrown':          '#8B4513','salmon':               '#FA8072','sandybrown':           '#FAA460','seagreen':             '#2E8B57','seashell':             '#FFF5EE','sienna':               '#A0522D','silver':               '#C0C0C0','skyblue':              '#87CEEB','slateblue':            '#6A5ACD','slategray':            '#708090','snow':                 '#FFFAFA','springgreen':          '#00FF7F','steelblue':            '#4682B4','tan':                  '#D2B48C','teal':                 '#008080','thistle':              '#D8BFD8','tomato':               '#FF6347','turquoise':            '#40E0D0','violet':               '#EE82EE','wheat':                '#F5DEB3','white':                '#FFFFFF','whitesmoke':           '#F5F5F5','yellow':               '#FFFF00','yellowgreen':          '#9ACD32'}

    上述16进制描述的颜色具体对应以下颜色

    3 python中Matplotlib的颜色及线条控制

    3.1Matplotlib默认颜色

     Matplotlib自带的颜色搭配也比较好看,默认的是一共10种颜色,超过次数后就会循环使用:

    默认颜色的对应参数和颜色名称如下所示:

    3.2Matplotlib线条控制

    marker参数以及形状如下所示:

    '.'       point marker','       pixel marker'o'       circle marker'v'       triangle_down marker'^'       triangle_up marker''       triangle_right marker'1'       tri_down marker'2'       tri_up marker'3'       tri_left marker'4'       tri_right marker's'       square marker'p'       pentagon marker'*'       star marker'h'       hexagon1 marker'H'       hexagon2 marker'+'       plus marker'x'       x marker'D'       diamond marker'd'       thin_diamond marker'|'       vline marker'_'       hline marker

    参考资料

    [1]阿昆的科研日常,跟顶刊学配色!SCI论文插图经典配色实例第1期 - 知乎 (zhihu.com)

    [2]darkknightzh,(原)python中matplotlib的颜色及线条控制 - darkknightzh - 博客园 (cnblogs.com)

上一篇:服务器怎么放掉落?

下一篇:揭秘钓鱼ASP源码,优质源码轻松获取指南