Matplotlib简述:
Matplotlib是一个用于创建出高质量图表的桌面绘图包(主要是2D方面)。该项目是由JohnHunter于2002年启动的,其目的是为Python构建一个MATLAB式的绘图接口。如果结合PythonIDE使用比如PyCharm,matplotlib还具有诸如缩放和平移等交互功能。它不仅支持各种操作系统上许多不同的GUI后端,而且还能将图片导出为各种常见的矢量(vector)和光栅(raster)图:PDF、SVG、JPG、PNG、BMP、GIF等。此外,matplotlib还有许多插件工具集,如用于3D图形的mplot3d以及用于地图和投影的basemap。
准备数据:从文本文件中解析数据
本文使用的数据主要包含以下三种特征:每年获得的飞行常客里程数,玩视频游戏所耗时间百分比,每周消费的冰淇淋公升数。其中分类结果作为文件的第四列,并且只有3、2、1三种分类值。
飞行里程数 | | | |
| | | |
| | | |
| | | |
...... | | | |
上述特征数据的格式经过file2matrix函数解析处理之后,可输出为矩阵和类标签向量。
将文本记录转换为Numpy的解析程序:
使用file2matrix读取文件数据,必须确保待解析文件存储在当前的工作目录中。导入数据之后,简单检查一下数据格式:
分析数据:使用Matplotlib创建散点图
编辑kNN.py文件,引入matplotlib,调用matplotlib的scatter绘制散点图。
import matplotlibimport matplotlib.pyplot as pltdef file2matrix(filename):......return returnMat,classLabelVectordatingDataMat,datingLabels = file2matrix('datingTestSet2.txt')fig = plt.figure()ax = fig.add_subpot(111)ax.scatter(datingDataMat[:,1],datingDataMat[:,2])plt.show()
散点图使用datingDataMat矩阵的第二、第三列数据,分别表示特征值“玩视频游戏所耗时间百分比”和“每周消费的冰淇淋公升数”。
新闻热点
疑难解答