%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(1) # 产生相同的随机数
X = np.random.randn(1, 10)
Y = np.random.randn(1, 10)
label = np.array([1,1,0,0,0,0,0,1,1,1])
plt.scatter(X, Y, c = label, s = 180, cmap = plt.cm.Spectral);
这句代码plt.scatter(X, Y, c = label, s = 40, cmap = plt.cm.Spectral)
;中的cmap = plt.cm.Spectral
是什么意思?
cmap = plt.cm.Spectral实现的功能是给label为1的点一种颜色,给label为0的点另一种颜色。
# label有三种不同的取值
X = np.array(range(1, 7))
Y = np.array(range(1, 7))
label = (1,1,0,0,-1,-1)
plt.scatter(X, Y, c = label, s = 180, cmap = plt.cm.Spectral)
可以看到3个不同的类别被赋予了3种不同的颜色。也可以通过plt.cm.Spectral(parameters)
中的parameters来指定生成的颜色种类,例如plt.cm.Spectral(np.arange(5))
将生成5中不同的颜色,而在例子2中,c = label
代替了参数parameter的作用。
colors = plt.cm.Spectral(np.arange(5))
print("5种不同的颜色: ",colors)
5种不同的颜色: [[ 0.61960787 0.00392157 0.25882354 1. ]
[ 0.62806615 0.01330258 0.26082277 1. ]
[ 0.63652444 0.02268358 0.26282201 1. ]
[ 0.64498272 0.03206459 0.26482124 1. ]
[ 0.653441 0.0414456 0.26682047 1. ]]
# 生成两种颜色,其中1,2,5,6是一种,3,4是一种
colors = plt.cm.Spectral([1,1,0,0,1,1])
print(colors)
[[ 0.62806615 0.01330258 0.26082277 1. ]
[ 0.62806615 0.01330258 0.26082277 1. ]
[ 0.61960787 0.00392157 0.25882354 1. ]
[ 0.61960787 0.00392157 0.25882354 1. ]
[ 0.62806615 0.01330258 0.26082277 1. ]
[ 0.62806615 0.01330258 0.26082277 1. ]]