不同label样本画图——颜色分配plt.cm.Spectral

不同label样本画图——颜色分配plt.cm.Spectral

plt.cm.Spectral的作用在于在画图时为不同类别的样本分别分配不同的颜色。

假如存在下列的numpy.array样本数据:

不同label样本画图——颜色分配plt.cm.Spectral_第1张图片
\qquad 其中前两列为样本特征数据,最后一列为样本label。要将其用scatter形式展示,以前总是先遍历将其分组到不同的list当中,然后再进行plt.scatter操作,如下:

import matplotlib.pyplot as plt

cl1 = []
cl1_y = []
cl2 = []
cl2_y = []
cl3 = []
cl3_y = []
for ii in range(len(X)):
    if y[ii] == 0:
        cl1.append(X[ii,0])
        cl1_y.append(X[ii,1])
    elif y[ii] == 1:
        cl2.append(X[ii,0])
        cl2_y.append(X[ii,1])
    else:
        cl3.append(X[ii,0])
        cl3_y.append(X[ii,1])

fig = plt.figure()
plt.scatter(cl1,cl1_y)
plt.scatter(cl2,cl2_y)
plt.scatter(cl3,cl3_y)
plt.show()

得到结果如下:
不同label样本画图——颜色分配plt.cm.Spectral_第2张图片

使用plt.cm.Spectral则可以节约很多步骤:

plt.scatter(X[:,0],X[:,1],c=X[:,2],cmap=plt.cm.Spectral)
plt.show()

其中plt.scatter中的参数c为分类依据,即label;

结果如下:
不同label样本画图——颜色分配plt.cm.Spectral_第3张图片

你可能感兴趣的:(python笔记)