matplotib.pyplot库,类似于MATLAB ,提供多种将数据绘制成图的方法。由于后续章节的一些数据分析结果要用它实现可视化,因此我们有必要用一个简短的例子,解释后面即将用到的所有matplotlib代码:
![f9926ffb13da520c927bd90bea3d8518.png](https://i-blog.csdnimg.cn/blog_migrate/7eaf5695f7c01364c65206abe3b13191.jpeg)
导入该库之后(导入为plt ) ,初始化figure对象(fig) ,添加axis对象(ax )。每条线是通过ax.plot()命令绘制到ax对象之中,每条线称为句柄(handle )。然后, matplotlib.pyplot录下面所有指令,并将其绘制到figure对象之中。该例中,用pltshow()命令直接在终端显示绿色折线,并用fig.savefig()函数将其保存为figure.png文件。运行结果见图1.1。
![1e2047f24b04d0f12047b65765a173a4.png](https://i-blog.csdnimg.cn/blog_migrate/3b254e6c83870990eefcbc89e50369da.jpeg)
图1.1 简单图表示例
接下来这个例子讲解如何用一条命令绘制样式不同的多条曲线,我们用到了NumPy数组,见图1.2。
![ffe3d79d78d543710e5ba689f134de21.png](https://i-blog.csdnimg.cn/blog_migrate/1f9f1e1a8540b2ef24a0aa5f0bb0b2a1.jpeg)
![ad6ea2539ea7015df47cd6eb5d515db6.png](https://i-blog.csdnimg.cn/blog_migrate/0f052c6b6c4d5ac86c5b90c35ac9e0ad.jpeg)
图1.2 多序列曲线图表示例
注意上述代码中的get_legend_handles_labels()函数,返回存储在ax对象中的句柄列表和标签,我们需要将这两项返回结果传给legend函数完成绘图。符号"r--""bs"和"g^"指的是数据点的形状和颜色(分别表示红色矩形、蓝色方形和绿色三角形), linewidth参数用来设置线条的密度, markersize用来设置点的大小。
数据分析结果,另一种常用的可视化方法是散点图,通常用来显示一组数据两个变量的不同取值情况(我们用NumPy的random子模块生成这样的一组数据)。
![a03647184e99990455103f71547820c4.png](https://i-blog.csdnimg.cn/blog_migrate/1ee3dab1c0cdf8130deb34a6adf1bd7f.jpeg)
上述代码,s选项表示数据点的大小,colors选项为每组数据点的颜色。我们直接将句柄(p1,p2,p3)传给legend函数,见图1.3。
![1eb0c54cee554649824e9f221d4b4997.png](https://i-blog.csdnimg.cn/blog_migrate/9eae97977b38d829c99de45ea1e40fa0.jpeg)
图1.3 由随机分布的数据点构成的散点图
关于matplotlib库的更多细节,我们建议大家读一读网上的相关材料和教程,比如他们官方提供的这份教程:http://matplotlib.org/users/pyplot_tutorial.html。
本文节选自《机器学习Web应用》
![424ae455978ef13ae0454b32a79373c3.png](https://i-blog.csdnimg.cn/blog_migrate/fbdb799bdf4bd008e2fc0f3a7a2b02cd.jpeg)
这是一本结合Python语言讲述Web下机器学习的图书,本书内容全面,既能够让读者熟悉最基本的机器学习的相关概念,也能够了解Web下数据挖掘的工具和技术,除此之外,书中还会介绍与Django框架有关的知识以及数据库管理等内容,帮助读者掌握聚类和分类技术并用Python实现它们。