2.2.2 分析数据:使用Matplotlib创建散点图
1 import kNN
2 import matplotlib
3 import matplotlib.pyplot as plt
4 fig = plt.figure() #创建图像
5 ax = fig.add_subplot(111) #添加子图像(1行1列中的第一个)
6 ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15*array(datingLabels),15*array(datingLabels))
7 #15*array(datingLabels),15*array(datingLabels) 分别对应于scatter的s(四则)
8 #15*array(datingLabels),15*array(datingLabels) 分别对应于scatter的s(size)和c(color)参数。这两个参数对应于前面x,y相应坐标点,即每个坐标点上的size和color参数都有对应值。
9 plt.show()
10 #由于将标签列的值放大15倍,这样可以将本来的标签值size和color差距拉大,便于在图上观察。
ax.scatter(datingDataMat[:,1],datingDataMat[:,2],100*array(datingLabels),15*array(datingLabels))

ax.scatter(datingDataMat[:,1],datingDataMat[:,2],100*array(datingLabels),15*array(datingLabels))

ax.scatter(datingDataMat[:,1],datingDataMat[:,2],300*array(datingLabels),15*array(datingLabels))
plt.show()

plt.show() 运行之后,显示图片。
后续改变scatter()参数,每执行一次ax.scatter(), 原散点图中自动增加相应的点,不需要再执行plt.show()。
如果要创建新图片,需要再次运行plt.figure().
如果要在同一副图中创建两个subplot,可以更改add_subplot的参数,如下:
1 import kNN
2 import matplotlib
3 import matplotlib.pyplot as plt
4 fig = plt.figure() #创建图像
5 ax = fig.add_subplot(121) #添加子图像(1行2列中的第一个)
6 ax.scatter(datingDataMat[:,1],datingDataMat[:,2],15*array(datingLabels),15*array(datingLabels))
7 plt.show()
8
9 ax = fig.add_subplot(122) #添加子图像(1行2列中的第二个)
10 ax.scatter(datingDataMat[:,0],datingDataMat[:,1],15*array(datingLabels),15*array(datingLabels))
11 plt.show()


浙公网安备 33010602011771号