matplotlib绘图中通过颜色和形状区分点的类型

在使用python绘制散点图时,有时我们需要将点分成若干类,每一类点用不同的颜色加以标记。当点的类别太多时,仅仅使用颜色则难以在视觉上产生明显的区分度,这时可以将点的形状也用于区分。
因此博主在函数color_shape_list()中共使用了11种具有明显区分度的颜色和7种具有明显区分度的形状,总共组合出了77种“颜色-形状”组合,并将这些组合绘制于图中供参考。

import matplotlib.pyplot as plt
 
def color_shape_list():
    color_list = ['black', 'red', 'gold', 'green', 'blue', 'silver', 'pink', 'peru', 'lawngreen', 'cyan', 'darkviolet']
    shape_list = ['o', 'P', '^','s', '*', 'X', 'D']
    CS = []
    for shape in shape_list:
        for color in color_list:
            CS.append((color, shape))
    return CS

if __name__ == '__main__':
    CS = color_shape_list()
    t = 0
    for y in range(7,0,-1):
        for x in range(11):
            plt.scatter(x, y, color=CS[t][0], marker=CS[t][1], s=200)
            t += 1
    plt.show()

原文地址:https://www.cnblogs.com/bill-h/p/14768891.html