第3章 Matplotlib数据可视化基础
说明:Matplotlib首次发表于2007年,函数参考了MATLAB,因此其名字以Mat开头
中间的plot表示绘图,lib结尾表示它是一个集合。是一个很好的绘图包
应用最广泛的包是matplotlib.pyplot包
本章讲解5种基础统计图形的绘制方法
3.1 掌握绘图基础语法和常用函数
1.掌握pyplot基础语法
pyplot图形绘制的基本流程:
第一部分:创建画布,选定子图
第二部分:添加标题,x轴名称,x轴刻度和范围,y轴名称,y轴刻度和范围;
绘制图形,添加图例
第三部分:保存图形,显示图形
说明:第一部分,就是构建一个画布,并可以选择性的将画布分成几部分
命令1:plt.figure 创建空白画布,并指定大小和像素
命令2:figure.add_subplot 创建并选中子图,并指定子图的行数,列数和编号
第二部分:绘制主体部分,注意该部分没有先后关系,但添加图例一定要放在绘制图形之后
命令1.plt.title 添加标题(位置,颜色,大小)
plt.xlabel 添加x轴名称(位置,颜色,大小)
plt.ylabel
plt.xlim 添加x轴范围(只能确定数值区间)
plt.ylim
plt.xticks 指定x轴刻度的数目和取值
plt.yticks
plt.legend
第三部分:保存和显示图形
命令1:plt.savafig 保存绘制的图形(图形分辨率,边缘的颜色)
命令2:plt.show 显示图形
命令3:plt.plot(data,data**2) #添加y = x**2的曲线
2.设置pyplot的动态rc参数
作用:用来改变plot图形的默认属性,包括(线条宽度,颜色,样式,坐标轴等)
语法:plt.rcParams[参数] = ' '
例如: plt.rcParams['lines.linestyle'] = ':' #线条样式
plt.rcParams['lines.linewidth'] = 3 #线条宽度
plt.rcParams['lines.marker'] = '*' #线条上点的形状
plt.rcParams['lines.markersize'] = 10 #线条上点的大小
plt.rcParams['font.sans-self'] = 'SimHei' #设置字体
plt.rcParams['axes.unicode_minus'] = False #设置正常显示符号
3.2 分析特征间的关系
散点图和折线图都能够分析不同数值特征间的关系
1.绘制散点图
作用:用于分析特征间的相关关系
描述:一个特征为横坐标,另一个特征为纵坐标;利用坐标点的分布形态反映特征间的统计关系
值由点在图表中的值表示,类别由图表中的不同标记表示,通常用于比较跨类别的数据.
散点图能给我们提供什么?
1.特征之间是否存在数值或数量的关联趋势,且关联趋势是线性的还是非线性的
2.如果一个点或几个点偏离大多数点,则这些点就是离群值,在散点图上可以一目了然,
从而可以进一步分析这些离群值是否在建模分析中产生很大的影响
说明:散点图通过散点的疏密程度和变化趋势表示两个特征的数量关系.
如果有3个特征,其中一个为类别型,散点图改变不同特征的点的形状或颜色,
即可了解两个数值型特征和这个类别型之间的关系
语法:
matplotlib.pyplot.scatter(x,y,s = None,c = None,marker = None,cmap = None,
norm = None ,vmin = None,vmax = None,alpha = None,
linewidths = None, verts = None,edgecolors = None,hold = None,
data = None,**kwargs)
参数说明:
x,y 表示x和y轴对应的数据
s 接受数值或一维的array,指定点的大小
c 接受数值或一维的arrat,指定点的颜色
marker 指定点的类型
alpha 表示点的透明度
2.绘制折线图
作用:用于分析自变量特征和因变量特征之间的趋势关系
描述:是一种将数据点按照顺序连接起来的图形,可以看成是将散点图按照x坐标顺序连接起来的图形
功能:查看因变量y随着自变量x改变的趋势,一般用于显示随着时间而变化的连续数据。同时还可以看出数量的差异,增长趋势的变化
语法:
matplotlib.pyplot.plot(*args,**kwargs)
说明:x,y x和y轴的数据
color 线条的颜色
(b g r c青色 m 品红 y k黑色 w白色)
linestyle 线条的类型
marker 绘制的点的类型
alpha 透明度
3.3 分析特征内部数据分布于分散状况
说明:用于分析数据内部分布状态和分散状态
1.绘制直方图,也叫质量分布图 (了解特征内部数据数量状况)
查看各分组数据的数量分布,各分组数据之间的数量比较
说明:是统计报告图的一种,由一一系列高度不等的纵向条纹或线段表示数据分布情况
一般横轴表示类别,纵轴表示类别或占比
作用:可以直观地看出产品质量特征的分布状态,
语法:matplotlib.pyplot.bar(left,height,width = 0.8,bottom =None,hold=None,)
说明:left x轴数据
height x轴所代表数量的数值
width 取值0-1,表示宽度
color 直方图颜色
2.绘制饼图 (了解内部数据的占比状况)
查看各分组数据在总数据中的占比
作用:饼图可以清楚的反映出部分与部分,部分与总体直接的比例关系
语法:matplotlib.pyplot.pie()
3.绘制箱线图 (箱须图)(了解特征内部数据的分散情况)
发现整体数据的分布分散情况
作用:箱线图利用数据中的5个统计量(最小值,下四分位数,中位数,上四分位数,最大值)来表示数据,可以粗略的看出数据是否具有对称性,分布的分散程度等
语法:matplotlib.pyplot.boxplot()