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矩陣的第二、第三列數據,分別表示特征值“玩視頻游戲所耗時間百分比”和“每周消費的冰淇淋公升數”。
新聞熱點
疑難解答