关系型数据的可视化
前面两节是关于独立的离散型或数值型变量进行的可视化展现。
本文介绍的是关系型数据的可视化,包括发现两个变量之间关系的散点图、展现三个数值变量之间关系的气泡图、两个离散变量之间的组合关系的热力图等。
一.散点图 想要研究两个数值型变量之间是否存在某种关系,例如正向的线性关系或趋势性的非线性关系,散点图是极佳选择。
1.matplotlib
scatter(x , y , s=20 , c=None , marker='o' , cmap=None , vmin=None ,
vmax = None , alpha=None , linewidths=None,edgecolors=None)
x : 散点图的x轴数据。 y : 散点图的y轴数据。 s : 散点图点的大小,默认为20,通过传入其他数值型变量,可以实现气泡图的绘制。 c : 散点图点的颜色,默认为蓝色,也可以传递其他数值型变量,通过cmap参数的色阶表示数值大小。
marker : 散点图点的形状,默认为空心圆。 cmap:指定某个Colormap值,只有当c参数是一个浮点型数组才有效。 norm : 设置数据亮度,标准化到0~1,使用该参数仍需要参数c为浮点型数组。 vmin、vmax : 亮度设置,与norm类似,若使用norm参数则此参数无效。 alpha : 散点的透明度。 linewidths : 散点边界线的宽度。 edgecolors : 三点边界线的颜色。
2.pandas
3.seaborn
lmplot函数的相关使用方法:
lmplot(x,y,dara,hue=None,col=None,row=None,palette=None,col_wrap=None,
size=5,aspect=1,markers='o',sharex=True,sharey=True,hue_order=None,
col_order=None,row_order=None,legend=True,legend_out=True,scatter=True,
fit_reg=True,ci=95,n_boot=1000,order=1,logistic=False,lowess=False,
robust=False,logx=False,x_partial=None,y_partial=None,truncate=False)
x , y :x,y轴数据。 data : 绘图的数据集。 hue : 分组变量。 col , row : 用于绘制分面图形,指定分面图形的列向与行向变量。 palette :为hue参数指定的分组变量设置颜色。 col_wrap : 设置分面图形中每行子图的数量。 size : 用于设置每个分面图形的高度。 aspect : 用于设置每个分面图形的宽度,面积等于size*aspect。 markers : 设置点的形状,用于区分hue参数指定的变量水平值。 sharex,sharey : bool类型,设置绘制分面图形时是否共享x轴和y轴,默认为True。 hue_order,col_order,row_order:为hue参数、col参数和row参数指定的分组变量设置水平值顺序。 legend: bool类型,是否显示图例,默认True。 legend_out : bool类型,是否将图例放到图框外面,默认为True。 scatter : bool类型,是否绘制散点图,默认为True。 fit_reg : bool类型,是否拟合线性回归,默认为True。 ci : 绘制拟合线的置信区间,默认为95%的置信区间。 n_boot: 为了估计置信区间,指定自助重抽样的次数,默认为1000次。 order : 指定多项式回归,默认指数为1。 logistic : bool类型,是否拟合逻辑回归,默认为False。 lowess : bool类型,是否拟合局部多项式回归,默认为False。 robust : bool类型,是否拟合鲁棒回归,默认为False。 logx : bool类型,是否对x轴做对数变换,默认为False。 x_partial,y_partial : 为x轴和y轴数据指定控制变量,即排除x_partial和y_partial变量影响下绘制散点图。 truncate : bool类型,是否根据实际数据的范围对拟合线做截断操作,默认为False。 x_jitter,y_jitter:为x轴变量或y轴变量添加随机噪声,当x轴数据与y轴数据比较密集时,可以使用这两个参数。 scatter_kws : 设置点的其他属性,如点的填充色、边框色、大小等。 line_kws : 设置拟合线的其他属性,如线的形状、颜色、粗细等。
二.气泡图
三.热力图
也称作交叉填充表。最典型的用法就是实现列联表的可视化,即通过图形的方式展现两个离散变量之间的组合关系。老规矩,先看函数及其参数含义:
heatmap(data,vmin=None,vmax=None,center=None,annot=None,fmt='.2g',
annot_kws=None,linewidths=0,linecolor='white',cbar=True,cbar_kws=None,
square=False,xticklabels='auto',yticklabels='auto',mask=None,ax=None)
data : 注定绘制热力图的数据集。 vmin,vmax : 用于指定图例中最小值与最大值的显示值。 cmap : 指定一个colormap对象,用于热力图的填充色。 center : 指定颜色中心值,通过该参数可以调整热力图的深浅。 annot : 指定一个bool类型的值或与data参数形状一样的数组,如果为True,就在热力图每个单元显示数值。 fmt : 指定单元格中数据的显示格式。 annot_kws : 有关单元格中数值标签的其他属性描述,如颜色、大小等。 linewidths : 指定每个单元格的边框宽度。 linecolor :指定每个单元格的边框颜色。 cbar : bool类型,是否用颜色条作为图例,默认为True。 square : bool类型参数,是否使热力图的每个单元格为正方形,默认为False。 cbar_kws : 有关颜色条的其他属性描述。 xticklabels,yticklabels : 指定热力图x轴和y轴的刻度标签,如果为True,则分别以数据框的变量名和行名作为刻度标签。 mask : 用于突出显示某些数据。 ax : 用于指定子图的位置。
可以看但Summary是列联表得形式,反映的是每年各月份的销售总额,但是这样的图是无法让人一眼就看出其中的差异的,这时候就用到了我们所讲的------------------热力图!!!!
可以看到,一目了然!
四.多个图形的合并
本章的最后一个部分,相信你已经学会了n多种绘图手段,最后一点家底也抖给你,那就是如何将多个图形汇总到一个图表中。
subplot2grid(shape,loc,rowspan,colspan=1,**kwargs)
shape:指定组合图的框架i形状,以元组得形式传递,2X3矩阵表示成(2,3)。 loc : 指定子图所在位置,如shape中第一行第一列可以表示成(0,0)。 rowspan : 指定某个子图需要跨几行。 colspan : 指定某个子图需要跨几列。
over,本章到此结束,你已经变得很强了!!
|