官方文档 https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html
例子:plt.scatter(train_X[:, 0], train_X[:, 1], c=train_Y, s=40, cmap=plt.cm.Spectral);
matplotlib.pyplot.scatter( x , y , s = None , c = None , marker = None , cmap = None , norm = None , vmin = None , vmax = None , alpha = None , linewidths = None , * , edgecolors = None , plotnonfinite = False ,数据=无, ** kwargs )
官方文档谷歌翻译截图:
s 是散点的大小
plt.scatter(train_X[:, 0], train_X[:, 1], c=train_Y, s=40, cmap=plt.cm.Spectral);
c 和 cmap一起看,表示train_Y中不同的数字映射的颜色不同
也可以通过plt.cm.Spectral(parameters)中的parameters来指定生成的颜色种类
例如plt.cm.Spectral(np.arange(5))将生成5中不同的颜色,而在例子中,c=train_Y 代替了参数parameter的作用。
def load_dataset(is_plot=True):
np.random.seed(1)
train_X, train_Y = sklearn.datasets.make_circles(n_samples=300, noise=.05)
# 参考上面那个函数的返回值,x的shape应该是(300,2)
# y是标签,只有0 or 1,300个
np.random.seed(2)
test_X, test_Y = sklearn.datasets.make_circles(n_samples=100, noise=.05)
# Visualize the data
if is_plot:
plt.scatter(train_X[:, 0], train_X[:, 1], c=train_Y, s=40, cmap=plt.cm.Spectral);
train_X = train_X.T
#转置X (2,300)
train_Y = train_Y.reshape((1, train_Y.shape[0]))
# 把Y转化成矩阵(1,300)
test_X = test_X.T
test_Y = test_Y.reshape((1, test_Y.shape[0]))
return train_X, train_Y, test_X, test_Y