一、scatter
scatter方法主要用来做散点图展示,而plot方法主要用来做折线图展示,也可以用于散点图的展示。两个方法的参数基本是通用的。以scatter方法为例,常用参数包括:
plt.scatter( ['x', 'y', 's=None', 'c=None', 'marker=None', 'cmap=None', 'norm=None', 'vmin=None', 'vmax=None', 'alpha=None', 'linewidths=None', 'verts=<deprecated parameter>', 'edgecolors=None', '*', 'plotnonfinite=False', 'data=None', '**kwargs'], )
- x, y:具有相同长度的一维数据,散点的X和Y轴对应的数据。
- s:数值型,控制点的大小。
- c:字符串,控制点的颜色,常用的颜色字符串为b(blue,蓝色)、c(cyan,品红)、g(green,绿色)、k(black,黑色)、m(magenta,红色)、w(white,白色)、y(yellow,黄色)。
- marker:字符串,控制点的样式,样式列表如下表所示。
为了展示,我们按照上面17种marker类型,将数据聚类成17类,样本点的分布如下:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import KMeans
from sklearn import datasets
from sklearn.decomposition import PCA, FactorAnalysis
iris = datasets.load_iris()
#降维
iris_pca = PCA(n_components=2)
iris_pca_score = iris_pca.fit_transform(iris.data)
#聚类
iris_kmeans = KMeans(n_clusters=17, n_init=15)
iris_kmeans.fit(iris.data)
#可视化
plt.figure(figsize=[12, 9])
for cluster, marker in zip(range(17), ['.',',', 'o','v','^','<','>','8','s','p','*','+','D','d','x','|','_']):
x_axis = iris_pca_score[:, 0][iris_kmeans.labels_ == cluster]
y_axis = iris_pca_score[:, 1][iris_kmeans.labels_ == cluster]
plt.scatter(x_axis, y_axis, s=60,marker=marker)
plt.show()
输出:
二、plot
在plot方法的marker值中,还可设定为线条的样式’-’为实线、'--’为虚线、'-.’为点虚线、':’为点虚线。
- norm:float型,控制点图的数据亮度,取值范围[0,1]。
- alpha:float型,控制点图透明度,取值范围[0,1]。
另外,在plot方法中,经常会用到label参数,用来实现多个线条的标签。