Matplotlib常用图形制
Matplotlib绘制的常用图形包括散点图、线性图、柱状图、直方图、饼图、箱线图和子图。本节中绘图使用的数据文件为:车次上车人数统计表.xls,其表结构如表4-2所示。
表4-2 车次上车人数统计表
| 车次 | 日期 | 上车人数 |
| D02 | 20150101 | 2143 |
| D02 | 20150102 | 856 |
| D02 | 20150106 | 860 |
| D02 | 20150104 | 1011 |
| D02 | 20150105 | 807 |
| D02 | 20150103 | 761 |
| D02 | 20150107 | 803 |
| D02 | 20150108 | 732 |
| D02 | 20150109 | 753 |
| D03 | 20150110 | 888 |
| …… | …… | …… |
表中一共有D02~D06车次20150101~20150124日的上车人数统计数据。
1.散点图又称为散点分布图,是以利用坐标点(散点)的分布形态反映特征间的相关关系的一种图形。散点图的绘图函数为:scatter(x, y, [可选项])。其中x表示横轴坐标数据列,y表示纵轴坐标数据列,可选项包含颜色、透明度等。使用scatter函数绘制D02车次每日上车人数散点图示例代码如下:
2.线性图的绘图函数为plot(X,Y,[可选项]),其中X表示横轴坐标数据列,Y表示纵轴坐标数据列,可选项为绘图设置,包括图形类型:散点图、虚线图、实线图等;线条颜色:红、黄、蓝、绿等;数据点形状:星型、圆圈、三角形等。可选项一些示例说明如下:

图4-9显示了先执行导入pyplot 包命令:import matplotlib.pyplot as plt,接着以待查询函数plt.plot为参数,调用help()函数,按Enter键即可获得plt.plot()函数的详细使用方法。
图4-9


3.与Matlab类似,柱状图的绘图函数为bar(x,y,[可选项]),其中X表示横轴坐标数据列,Y表示纵轴坐标数据列,可选项为绘图设置。绘图设置详细使用方法可以参考图通过help(plt.bar)进行查询,一般情况下我们采用默认设置即可(缺省方式,具体见示例代码)。 绘制D02车次柱状图示例代码如下: 
4.与Matlab类似,直方图的绘图函数为hist(X,[可选项]),其中X表示横轴坐标数据列,可选项为绘图设置。绘图设置详细使用方法可以参考图4-9通过help(plt.hist)进行查询,一般情况下我们采用默认设置即可(缺省方式,具体见示例代码)。需要注意的是,直方图中的Y轴往往表示对应X的统计频数。绘制D02车次直方图示例程序如下:
5.与Matlab类似,饼图的绘制函数为pie(X,Y,[可选项]),其中X表示待绘制的数据序列,Y表示对应的标签,可选项表示绘图设置。这里常用的绘图设置为百分比的小数位,可以通过autopct属性类设置。这里先计算D02~D06共5个车次同期的上车人数,然后绘制其饼图展示出来,示例代码如下: 
6.箱线图是利用数据中的最小值、上分位数、中位数、下四分位数与最大值这5个统计量来描述连续型特征变量的一种方法。它也可以粗略地看出数据是否具有对称性,分布的分散程度等信息,特别可以用于对几个样本的比较。箱线图的构成与含义如图所示。
7.子图是指在同一个绘图界面上,绘制不同类型的图像。通过子图,可以在同一个界面上实现多种不同类型图像之间的比较,进而提高了数据可读性和可视化效果。在Matplotlib绘图基本流程中已经简单介绍了子图的命令subplot(),本节进一步地对其进行详细介绍,并给出具体的实现例子。 subplot()函数使用方法如下: subplot(a,b,c) 其调用形式为将figure画布分成a行b列矩阵形式的方格图形,并在第c个方格图形(按行顺序数)上绘制图像。这里我们将前面介绍的散点图、线性图、柱状图、直方图、饼图、箱线图六种不同的图形在一个3*2的figure画布中绘制出来。
绘图是数据分析实现数据可视化的一个非常重要的手段。本章介绍了Python绘图包Matplotlib中的pyplot模块,包括如何导入Python以及常用图像的绘制,包括散点图、线性图、柱状图、直方图、饼图、箱线图和子图的绘制。特别是子图,能够将几种不同类型的图像在一个figure界面中展示,方便图像之间的对比,这在金融数据挖掘分析任务中尤为重要。需要特别注意的是,pyplot模块的绘图命令与Matlab非常相似,如果读者具备一定的Matlab基础,学习起来将非常简单。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
